10-07-2010, 02:11 PM
Moi, je vois déjà un gros bug.
Il faut pas faire le header() dans un echo ! -.-
Fais plutôt :
Par contre, ça va merder puisque tu affiches des choses avant de faire un header. Pour éviter que ça plante, il faut utiliser les tampons.
Tout en haut de ton code, tu appelle la fonction ob_start(). Et à la fin, tu fais un echo de l'appel à la fonction ob_get_flush().
Et puis… Tu ne nous dit même pas ce que ça t'affiche à l'écran…
Donc en gros, si tu ne cherches pas, tu ne trouveras pas. On est pas sorciers, on ne peut pas trouver si tu ne nous donne rien et que tu ne fais pas ce qu'on te demande.
Fais les modifications qu'on t'indique : utilise mysql_fetch_assoc au lieu de mysql_fetch_array puis utilise les clés plutôt que les index numériques.
Ensuite montre nous ce code modifié : on y verra plus clair.
Montre nous aussi comment tu initialise tes tableaux (les $exparray, $argentsarray, etc.) ;
Affiche les valeurs que tu utilises. Par exemple, au lieu de faire :
Tu mets :
Comme ça le code est plus lisible. N'hésite pas à corriger si j'ai mal remplacé les index numériques par les clés.
Sephi-Chan
echo "header('Location: royaume.php');";
Il faut pas faire le header() dans un echo ! -.-
Fais plutôt :
header('Location: royaume.php');
Par contre, ça va merder puisque tu affiches des choses avant de faire un header. Pour éviter que ça plante, il faut utiliser les tampons.
Tout en haut de ton code, tu appelle la fonction ob_start(). Et à la fin, tu fais un echo de l'appel à la fonction ob_get_flush().
Et puis… Tu ne nous dit même pas ce que ça t'affiche à l'écran…
Donc en gros, si tu ne cherches pas, tu ne trouveras pas. On est pas sorciers, on ne peut pas trouver si tu ne nous donne rien et que tu ne fais pas ce qu'on te demande.
Fais les modifications qu'on t'indique : utilise mysql_fetch_assoc au lieu de mysql_fetch_array puis utilise les clés plutôt que les index numériques.
Ensuite montre nous ce code modifié : on y verra plus clair.
Montre nous aussi comment tu initialise tes tableaux (les $exparray, $argentsarray, etc.) ;
Affiche les valeurs que tu utilises. Par exemple, au lieu de faire :
if($_GET['construction']=='casup'){
if($argentsarray['0']>=$casarray['0']){
mysql_query("UPDATE inscription SET ors='".($argentsarray['0']-$casarray['0'])."',lvlcaserne='".($argentsarray['2']+1)."' WHERE pseudo='".$_SESSION['pseu11']."' ");
echo"<div>Votre construction a été faite avec succés</div>";
echo"header('Location: royaume.php');";
}
else {
$resu="<div>Vous n'avez pas assez d'argent</div>";
}
}
Tu mets :
if($_GET['construction'] == 'casup'){
echo '$argentsarray["ors"] = ' . $argentsarray['ors'];
echo '$casarray["ors"] = ' . $casarray['ors'];
if($argentsarray['ors'] >= $casarray['ors']){
$query = sprintf(
"UPDATE inscription SET ors = %d, lvlcaserne = %d WHERE pseudo = '%s';",
$argentsarray['ors'] - $casarray['ors'],
$argentsarray['lvlcaserne'] + 1,
$_SESSION['pseu11']
);
mysql_query($query);
echo "<div>Votre construction a été faite avec succés</div>";
header('Location: royaume.php');
}
else {
$resu = "<div>Vous n'avez pas assez d'argent</div>";
}
}
Comme ça le code est plus lisible. N'hésite pas à corriger si j'ai mal remplacé les index numériques par les clés.
Sephi-Chan