probleme requet SQL - PHP - Programmation
Marsh Posté le 31-01-2009 à 14:59:39
Bonjour,
Alors déjà fait un effort sur l'orthographe, aussi bien en ce qui concerne ton message que ton code, c'est très désagréable et personnellement je n'ai pas envie d'aider les gens qui écrivent comme des sagouins.
En ce qui concerne ton problème de requête, il faut que tu retires la virgule qui suit "id" et qui précède "FROM" :
Code :
|
Après cela, ta requête fonctionnera mais un autre problème se posera : il mysql_fetch_assoc doit être parcouru avec while() par exemple, sinon tu ne lis qu'une seule ligne retournée, donc si l'utilisateur n'est pas le premier inscrit il ne pourra jamais se connecter.
Mais dans ton cas ce n'est pas la peine de parcourir toute ta table d'utilisateurs, tu peux faire en sorte que mysql se charge lui même de faire la vérification login / mot de passe.
Pour çà, il faut faire une requête dont la clause WHERE est celle-ci :
login = $login ET pass = md5($pass)
La requête devient :
Code :
|
Pour intégrer cela à PHP, il faut utiliser la fonction mysql_num_rows qui retourne le nombre de ligne retournées. Si une ligne contient le login spécifié ET le mot de passe spécifié, alors les coordonnées sont correctes.
Code :
|
Comme tu le sais il faut échapper les données avant de les utiliser dans une requête. Le but est de convertir les caractères réservés par le SGBD pour ne pas qu'ils soient interprétés. Or si tu utilises la fonction md5 (DE PHP) alors la chaîne retournée ne contiendra que des chiffres et des lettres et sera sûre donc il est inutile de l'échapper avec mysql_real_escape_string.
J'insiste sur le fait que ce ne soit vrai que si tu utilises la fonction md5 de PHP parce que tu peux aussi utiliser la fonction MD5 de mysql mais dans ce cas, il faudra échapper ton mot de passe avant (il sera en clair dans la requête, avant d'être hashé.
Marsh Posté le 01-02-2009 à 13:35:11
merci pour votre aide et j'ai compris mes erreurs mais sa na marche toujours pas j'ai enlever les erreur ( enfin je crois ) et rien :
revoila le code modifier :
Code :
|
Marsh Posté le 01-02-2009 à 15:19:23
ReplyMarsh Posté le 01-02-2009 à 17:48:54
merci cela marche, mais enfaîte j'ai un autre problème. Ce n'est pas un problème de code, mais voilà :
enfaîte j'ai crée mon site personnel et je voulais créer un forum dessus.
donc je sais que je n'aurais pas dû, mais je me suis aidée du site du zéro, mais bien sûr il y a pleins d'erreurs de script. Et enfaîte je ne sais pas comment crée une connexion qui marche avec le forum site du zéro. j'ai essayé à travers ce topic mais finalement ça ne marche pas.
merci de me donnée un conseil pour créer une connexion qui marche avec le site du zéro.
moi je suis resté avec ce code de connexion qui marche ,mais sa ne reconnais ( désoler pour les fautes ) pas la connexion quand je suis sur le forum.
Code :
|
merci
Marsh Posté le 01-02-2009 à 17:50:10
voila le code de la page principal du forum :
Code :
|
Marsh Posté le 31-01-2009 à 14:44:11
Bonjour,
je suis en train de lire un tuto et je suis arriver a un moment ou on dois crée une connexion et quand j'essaye sa me mais :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM enregistrer WHERE login = "badboys54"' at line 2
et voila le code :
merci