Problème vérification de données !

Résolu/Fermé
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 - 21 janv. 2011 à 17:46
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 - 22 janv. 2011 à 00:33
Bonjour, je me suis lancé dans les BDD depuis quelque heures et j'ai un peut compris comment cela fonctionne cependant j'ai un problème !
Je pose le code, je m'explique après :

$tempEmail = mysql_query("SELECT COUNT (*) FROM newsletter WHERE mail = '".$_POST['mail']."'");
if($tempEmail['mail'] == $_POST['mail'] and $tempEmail['password'] == $Password ) // Si l'adresse e-mail existe dans la BDD et que le mot de passe associé est juste

Alors j'ai créé une newsletter dans laquelle les utilisateur s'inscrivent avec un mot de passe et une adresse mail.

J'ai ajouté une option a ma newsletter, cette option et désinscription.

Avant de désinscrire l'utilisateur je vérifie que le mot de passe qu'il entre correspond bien a son adresse mail, enfin c'est ce que je voudrais faire !

Et avec le code que j'ai posé plus haut et bien même si le MDP correspond a l'email ma fonction m'indique l'erreur adresse mail et ou mot de passe invalide !

Je vous remercie par avance du temps que vous allez me consacrer.




1 réponse

HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
22 janv. 2011 à 00:33
Ta requête ne renvoie qu'un nombre, à savoir le nombre de lignes correspondant au filtre que tu as posé via la clause WHERE. En clair : pour pouvoir faire un traitement sur le mail et le mot de passe stocké en base, tu vois avoir une requête qui renvoie ces données. Là, tu n'as rien d'autre que le nombre de lignes concernées.

Le mieux serait de faire une requête sélectionnant le nombre d'enregistrements où le mail correspond à celui saisi, et le mot de passe correspond à celui saisi (WHERE mail=... and Mdp=...). Si tu as une ligne en retour : c'est OK ; sinon, c'est qu'il y a un souci (mot de passe erroné, erreur dans l'adresse mail, etc.).

0