Modification d'un code en PHP4 pour le rendre compatible PHP4 [Résolu]

Signaler
Messages postés
17
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
27 février 2008
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Voici mon code ( en tout cas la partie qui pose problème sous PHP5  :




<?php
include(dirname(__FILE__) . "/inc/header.php");
$server = 'localhost';
        $user = 'xxxx';
        $pass = 'xxxxx';  // <---- ici met ton mot de passe entre ' et ';
        $base = 'xxxx';
        $db = mysql_connect($server,$user,$pass);

$requete2=mysql_db_query($base,"SELECT * FROM cadeaux_en_boutique WHERE id="$id"",$db);

$cadeau=mysql_result($requete2,$i,"cadeau");
$type=mysql_result($requete2,$i,"type");
$prix=mysql_result($requete2,$i,"prix");
$prixvip=mysql_result($requete2,$i,"prixvip");
$nombre=mysql_result($requete2,$i,"nombre");
$requete=mysql_db_query($base,"SELECT * FROM users WHERE pseudo='".$_COOKIE['Pseudo_Co']."' ",$db);
   
$pseudo="{$_COOKIE['Pseudo_Co']}";
$email=mysql_result($requete,$i,"email");
$prenom=mysql_result($requete,$i,"prenom");
$nom=mysql_result($requete,$i,"nom");
$adresse=mysql_result($requete,$i,"adresse");
$ville=mysql_result($requete,$i,"ville");
$pays=mysql_result($requete,$i,"pays");
$codepostal=mysql_result($requete,$i,"codepostal");
$points=mysql_result($requete,$i,"points");
$id_membre=mysql_result($requete,$i,"id");
$codes=mysql_result($requete,$i,"codes");

$ip_adresse = "$REMOTE_ADDR";

$date=date('d/m/Y à h:i');

function get_point($id, $prix, $prixvip, $codes)

{

if($codes>'34')

{

$points_tableau = array();

$points_tableau[$id] = "$prixvip";

}

else {
$points_tableau = array();

$points_tableau[$id] = "$prix";
}

return $points_tableau[$id];

}

$get_points=get_point($_GET['id'], $prix, $prixvip, $codes);

if($points<$get_points)

{

    redir("error2.php");

exit;

}

$nombre2=1;
if($type=="codes"){
    $req=mysql_db_query($base,"select count(*) from stock_codes where type="$cadeau"",$db);
    $nombre2=mysql_result($req,0);
}

if($nombre<=0 || $nombre2<=0)

{

redir("error2.php"); /* je renvoie sur une page spécifique */

exit;

}

do
{
$idc =  md5(uniqid(rand()));
$requete=mysql_db_query($base,"select count(*) from commandes_en_cours where id="$idc"",$db) or die(mysql_error());
} while(mysql_result($requete,0));

mysql_db_query($base," INSERT INTO commandes_en_cours VALUES('$idc','".$_COOKIE['Pseudo_Co']."','$type', '$cadeau', '$cout', '$date',

'Non validée','')  ",$db);

mysql_db_query($base,"UPDATE users SET points=points-'$get_points' WHERE pseudo='".$_COOKIE['Pseudo_Co']."' ",$db);

$reque=mysql_db_query($base,"UPDATE cadeaux_en_boutique SET nombre=nombre-1 WHERE id="$id"   ",$db);

mysql_close($db);

    redir("commandesok.php"); /* je renvoie sur une page spécifique */






Cette Partie de code fonctionne niquel sous PHP4, mais, sous PHP5, celà ne fonctionne pas.

8 réponses

Messages postés
17
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
27 février 2008

Bon, un troisième post à la suite ( vive la fonction edit ^^ ) pour vous dire que j'ai trouvé d'où venait le problème : la fonction register_globals de php était sur off
Messages postés
17
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
27 février 2008

Merci d'avance de vos réponses ;)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
quel est le message d'erreur / probleme ? sous php5 ?

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

à priori c'est plutôt un problème de configuration de php : par défaut, le php.ini de php5 est moins permissif que celui de php4. Comme dans ce code tu ne testes rien, je penche plutôt pour :
ça marchait sous php4 parce que ton php.ini n'affichait pas certaines erreurs...qui étaient néanmoins là. Sans doute des warning ou des notice. Et le php.ini de ton php5 doit les afficher.
Messages postés
17
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
27 février 2008

Salut,

Alors, le problème, est , je n'ai aucune erreur affichée, mais, je suis redirigé automatiquement sur la page error2.php , même lorsque toutes les variables sont ok.
Messages postés
17
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
27 février 2008

Je me répond, j'ai activé toutes les erreurs dans php.ini, et voici celles auxquelles je suis confrontée :

Notice: Undefined index: membres_log in /xxxxx/inc/classe_membres.php on line 9

Notice: Undefined index: membres_unlog in /xxxxx/inc/classe_membres.php on line 11

Notice: Undefined index: add_part in /xxxxx/inc/classe_membres.php on line 13

Notice: Undefined index: modif_part in /xxxxx/inc/classe_membres.php on line 15

Notice: Undefined index: add_script in /xxxxx/inc/classe_membres.php on line 17

Notice: Undefined index: modif_script in /xxxxx/inc/classe_membres.php on line 19

Notice: Undefined index: add_boutique in /xxxxx/inc/classe_membres.php on line 21

Notice: Undefined index: modif_boutique in /xxxxx/inc/classe_membres.php on line 23

Notice: Undefined index: membres_change in /xxxxx/inc/classe_membres.php on line 26

Notice: Undefined index: parrain in /xxxxx/inc/classe_membres.php on line 28

Notice: Undefined index: page in /xxxxx/inc/classe_membres.php on line 33

Notice: Undefined index: RECALL in /xxxxx/inc/classe_membres.php on line 35
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
ca DOIT etre sur Off... c'est beaucoup plus propre comme ca...

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
C'est à toi d'utiliser es super globales $_GET, $_POST etc...c'est plus propre et surtout plus sécurisé.