Anonymus
samedi 12 juin 2004 à 14:41
Au lieu de
CODE
else
{
mysql_query("INSERT INTO joueurs VALUES('$nom','$prenom','$poste','$club','$attaque','$defense','$tacles','$physique','$vitesse','$tir'','$passe','$controle','$flair','$prise','$tete,'$sorties','$dribble','$CF','$techniquegoal','$reflexe','$gardien')");
print'Le joueur a été rentré dans la base <br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="hidden" name="pass" value="tmcfort"> <input type="submit" name="Submit" value="Rentrer un autre joueur"></form>';
}
tu mets :
CODE
$query = "INSERT INTO joueurs VALUES('$nom','$prenom','$poste','$club','$attaque','$defense','$tacles','$physique','$vitesse','$tir'','$passe','$controle','$flair','$prise','$tete,'$sorties','$dribble','$CF','$techniquegoal','$reflexe','$gardien')";
$r = mysql_query($query);
echo "<br>query : ".$query;
echo"<br> result : ".$r;
echo"<br>";
print'Le joueur a été rentré dans la base <br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="hidden" name="pass" value="tmcfort"> <input type="submit" name="Submit" value="Rentrer un autre joueur"></form>';
}
Il va s'afficher une requète sql, qu'il te faut insérer dans le phpmyadmin. Là, tu auras la réponse au problème. Mais il peut y avoir plusieurs raisons. Par exemple, si la personne s'appelle :
Joe L'emmerdeur
alors l'apostrophe fera 'bugger' la requète. L'idéal est de mettre des slashes devant toutes les apostrophes. Tu as une fonction qui le fait très bien, c'est addslashes();
Il te faudrait aussi vérifier un tant soi peu tes variables. Là, tu les récupères telles quelles, et tu les insères dans la base. Mais rien ne te dit qu'un joueur n'ira pas entrer des données.. pirates.
Prends toujours un maximum de précautions lorsque tu laisses un internaute entrer du code dans ton application.
Pour tester si un chiffre est un chiffre, par exemple :
$un_million = (int)$un_million;
Là, tu es sûr que ton million n'est pas un 'string' ou un 'array', etc...
Voilà.