Problème vérification de données !

Résolu
kangouroux Messages postés 580 Date d'inscription   Statut Membre Dernière intervention   -  
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   -
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.




A voir également:

1 réponse

HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
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