J'ai un bug très étrange : J'ai une BDD, avec une table qui contient des pseudos, et leur "score" respectif. C'est moi qui crédite a la main les scores, via un formulaire qui transmet a du PHP, qui met a jour la BDD. Si le pseudo s'y trouve deja, le score est credité, sans quoi en plus on crée le pseudo. Bref, ça marche pour tous les pseudos, mais pas pour le pseudo "yohan" (avec ses guillemets, qui indiquent que sur le jeu cette personne ne paie pas)
Lorsque j'indique ce pseudo, alors impossible de le mettre a jour dans la BDD !
Et ce n'est pas a cause des guillemets, car d'autres pseudos avec eux aussi des guillements fonctionnent... Ce n'est pas non plus le dernier pseudo de la table, il est en plein milieu...
Voilà le code :
<?php
$pseudo = $_POST["pseudo"];
$points = $_POST["points"];
$pass = $_POST["pass"];
if($pass != "XXXXXXXXXXX") {
exit("Mot de passe incorrect<br/><br/><a href=\"addscore.php\">Retour</a>");
}
$present = "0";
$connexion = mysql_connect("mysql04-vh.amenworld.com","XXXXXXXX","XXXXXXXXXX");
mysql_select_db("XXXXXXXX");
$requete1 = "SELECT * FROM scores_pb";
$reponse1 = mysql_query($requete1);
while($line = mysql_fetch_assoc($reponse1)) {
if ($pseudo == $line["pseudo"]) {
$present = "1";
$actuel = $line["score"];
}
}
if($present == "0") {
$requete = "INSERT INTO scores_pb (pseudo,score) VALUES ('$pseudo','$points')";
$reponse = mysql_query($requete);
$fin="Score correctement ajouté";
} else {
$nouveau = $actuel + $points;
$requete = "UPDATE `scores_pb` SET `score` = '$nouveau' WHERE `pseudo` = '$pseudo'";
$reponse = mysql_query($requete);
$fin="Score correctement mis à jour";
}
mysql_close($connexion);
if($reponse){
echo $fin;
} else {
echo "Impossible d'ajouter ou de mettre à jour le score";
}
?>
Et donc pour le pseudo "yohan" ça me renvoie "Impossible d'ajouter ou de mettre à jour le score"Comment se fait-il alors que tous les autres marchent ?
Merci d'avance