Titre: [PHP] Page de connexion Posté par: xJustiCe le 28 Mars 2010 à 21:10:06 Bonjour,
je cherche à faire une page pour que l'utilisateur puisse se connecter. Pour cela, il doit rentrer son prénom ainsi que son password pour s'identifier. Voici le code : Code: $reponse = $bdd->query('SELECT prenom, password FROM inscription WHERE prenom = :prenom, password = :password'); Ceci me retourne deux erreurs : Notice: Undefined variable: req Fatal error: Call to a member function execute() on a non-object Ou bien avec or die(print_r($bdd->errorInfo())) Array (
Titre: Re : [PHP] Page de connexion Posté par: robert33 le 28 Mars 2010 à 21:14:43 Je crois que l'erreur est sans équivoque : la variable $req n'existe pas. T'as sûrement oublié un $req = new PDO(); juste avant ou un truc du genre.
Et aussi tu as une XSS au niveau de l'affichage du prénom. Titre: Re : [PHP] Page de connexion Posté par: OxMoZ le 28 Mars 2010 à 21:20:24 Bonsoir,
Je te conseille de lire un peu sur le sujet, ce ne sont pas les exemples qui manquent. Tu peux commencer par ça : http://www.siteduzero.com/tutoriel-3-14668-un-site-dynamique-avec-php.html (http://www.siteduzero.com/tutoriel-3-14668-un-site-dynamique-avec-php.html) Bon courage :) PS: si tu ne comprend pas les erreurs qui te sont renvoyées, demande à ton copain google, on est rarement les seuls à avoir rencontrer l'erreur. Titre: Re : Re : [PHP] Page de connexion Posté par: xJustiCe le 28 Mars 2010 à 21:32:45 Je crois que l'erreur est sans équivoque : la variable $req n'existe pas. T'as sûrement oublié un $req = new PDO(); juste avant ou un truc du genre. Et aussi tu as une XSS au niveau de l'affichage du prénom. Oui pour ce qui est des echo, j'ai pas cherché à faire compliqué. Mais merci quand même :) Sinon j'ai déjà lu tous les cours PHP du SDZ et là j'essaye de m'entrainer en faisant des scripts qui me permettent de manipuler SQL. Pour ce qui est des erreurs renvoyées, je pense que le problème est au niveau de mes variables $_POST['prenom] et $_POST['password']. A mon avis, je ne dois pas les déclarer correctement :/... EDIT : Pour ceux qui voudraient savoir le bon code, le voici : Code: $req = $bdd->prepare('SELECT prenom, password FROM inscription WHERE prenom = :prenom AND password = :password'); Le problème était que je ne pouvais pas utiliser mysql_num_rows() avec PDO. Aussi j'ai apporté la correction contre la faille XSS avec thmlspecialchars. |