Comment comparer deux adresses mail

Résolu/Fermé
rastajeff Messages postés 72 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 25 août 2009 - 30 mai 2007 à 18:05
webtotoche Messages postés 69 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 3 novembre 2007 - 31 mai 2007 à 14:39
Bonjour à tous.

J'ai actuellement un problème sur mon php.

Je fais une page qui permet de renvoyer un nouveau mot de passe à une personne qui l'a perdu, en le remplaçant automatiquement dans la BDD.

Donc je récupère l'adresse entrée par un $_POST

Puis je fais un while($ligne = mysql_fetch_array($requete))
Pour tourner dans ma bdd.

Et la je voudrais comparer quand l'adresse mail rentrée est la même qu'une la bdd et ainsi changer le mot de passe et lui envoyer par mail.

Je vous remercie de m'aider
A voir également:

3 réponses

et bien, pour la comparaison des strings (chaines de caractères), tu peux peut-être faire un == mais, la fonction strcmp() devrait marcher mieux. Elle retourne 0 si les chaines sont identiques.

Une fois que tu as vérifié la correspondance entre les deux chaines, tu n'as qu'à faire un UPDATE en sql dans ta BD pour mettre à jour l'adresse.

Et pour envoyer un courriel, la fonction mail() est très simple et efficace... (utilise Google pour des exemples simples)

si tu veux plus de détails... tu n'as qu'à le dire!
(même si je suis pas un pro du PHP)...

bonne chance!
0
webtotoche Messages postés 69 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 3 novembre 2007 7
31 mai 2007 à 00:54
Salut !
Donc je récupère l'adresse entrée par un $_POST                                                                         Puis je fais un while($ligne = mysql_fetch_array($requete))
Pour tourner dans ma bdd.

Tu veux dire que tu parcours TOUTE ta table jusqu'à trouver l'enregistrement correspondant ?

( qu'est-ce qu'il y a dans ta requête SQL ? )

Et la je voudrais comparer quand l'adresse mail rentrée est la même qu'une la bdd et ainsi changer le mot de passe et lui envoyer par mail.

1. Chercher l'e-mail avec cette requête:
 Select id from Matable where email = "email récupéré par $_POST"

(ici on suppose que chaque enregistrement de Matable possède un identifiant unique et qu'il est stocké dans la colonne appelée id, chez toi cette colonne peut s'appeler différement bien sûr)

Si la requête est vide c'est que l'e-mail n'existe pas.

Si la requête retourne quelque chose c'est qu'il existe. Ouf ! Récupère la valeur de id, on va pouvoir traiter la suite :-)

2. Tu généres ton nouveau mot de passe et tu l'envoies.

3. Tu actualises ta table avec le nouveau mot de passe :

$sql = 'Update Matable set motdepasse = "'.$NewPassW.'" where id ='.$id;
Je vous remercie de m'aider

Si ça n'a pas aidé, précise le contexte.

_
0
rastajeff Messages postés 72 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 25 août 2009 13
31 mai 2007 à 09:29
Yes, t'a raison.

Non en fait je faisait un tour dans ma BDD, au lieu de rechercher directement le mail dans la table.


Ils m'ont pas servi les cours de SQL en fait :D


Merci bien, ça marche direct.

Juste pour demander au cas où, au début je cherchais à comparer deux adresses mail.
Mais moi ça marchait pas avec strcmp.
Vous avez une autre solution ??

Mais mon problème est résolu, ça marche bien comme c'est.
0
webtotoche Messages postés 69 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 3 novembre 2007 7
31 mai 2007 à 14:39
Salut !

Juste pour demander au cas où, au début je cherchais à comparer deux adresses mail.
Mais moi ça marchait pas avec strcmp.
Vous avez une autre solution ?? 

Qu'est-ce qui ne marchait pas avec strcmp ?

_
0