
le 17/11/2009 à 23:58
comparaisons d'un formulaire avec la base sql
Il faut entourer les chaines de caractères par des quotes lors des conditions en SQL.
Exemple :
(quand tu dis que tu travailleras la sécurité plus tard, crois moi, d'après mon expérience, c'est un truc que l'on ne fait jamais, car c'est barbant : si ce n'est pas fait au moment de l'écriture du code, ca ne sera jamais fait. Bref utilise au moins mysql_real_escape_string pour protéger tes requetes, c'est le minimum syndical pour éviter les injections).
Quant à l'erreur sur le mysql_fetch_array, c'est parce que tu fais un mysql_free_result ($req); en plein milieu du while.
Il est plus sage de libérer la mémoire une fois que tous les rows sont traités et non en plein milieu du traitement (de même, mysql_close est également à positionner après le while).
PS : pense à utiliser le BB-Code pour "balancer" ton code, il en sera beaucoup plus lisible.
Exemple :
<?php
$sql = "SELECT login,pass FROM inscription WHERE nom = '".mysql_real_escape_string($_POST['login'])."' AND '".mysql_real_escape_string($_POST['pass'])."'";
?>
(quand tu dis que tu travailleras la sécurité plus tard, crois moi, d'après mon expérience, c'est un truc que l'on ne fait jamais, car c'est barbant : si ce n'est pas fait au moment de l'écriture du code, ca ne sera jamais fait. Bref utilise au moins mysql_real_escape_string pour protéger tes requetes, c'est le minimum syndical pour éviter les injections).
Quant à l'erreur sur le mysql_fetch_array, c'est parce que tu fais un mysql_free_result ($req); en plein milieu du while.
Il est plus sage de libérer la mémoire une fois que tous les rows sont traités et non en plein milieu du traitement (de même, mysql_close est également à positionner après le while).
PS : pense à utiliser le BB-Code pour "balancer" ton code, il en sera beaucoup plus lisible.