Se connecter / S'enregistrer

Résolu Script Récupération Information Email

Solutions (8)
Tags :
  • Mot de passe
  • Email
  • Script
  • Programmation
, Maître Yoda |
Salut,

Je suis a la recherche d'un script asser complex !

je voudrais que lorsque un membre oublie sont mot de passe il ai seulement a écrire son email dans un champs et ensuite recevoir un email avec sont pseudo et un lien pour créé un nouveau mot de passe !

Est ce que sa existe quelque part est ce que quelqun en a un deja fait pour me donner !!

Merci beaucoup
Contenus similaires
Meilleure solution
partage
|
Ce n'est pas bien complexe. Il te faut un formulaire pour entrer l'email, et ensuite le traitement est du genre:
  1. <?php
  2. if (empty($_POST['email']) die('L\'email n'est pas donné');
  3. $email = $_POST['email'];
  4. // On récupère les infos sur l'utilisateur
  5. $sql = "SELECT id, pseudo, email FROM users WHERE email='".mysql_real_escape_string($email)."' LIMIT 1";
  6. $res = mysql_query($sql);
  7. if (@mysql_num_rows($res)!=1) die('Email inconnu');
  8. $row = mysql_fetch_assoc($res);
  9. $pseudo = $row['pseudo'];
  10. $umail = $rom['email'];
  11. // On génère une clé unique et on l'insère dans la table utilisateurs
  12. $key = md5(uniqid(rand()));
  13. $sql = "UPDATE users SET key='".$key."' WHERE id=".$row['id'];
  14. $res = mysql_query($sql);
  15. // Maintenant on a $umail, $pseudo et $key, on peut générer le lien et le mail
  16. ?>
  • Commenter cette solution |
Score
0
òh
òi
, Maître Yoda |
Merci en attendant j'essaie de lire sur le php sql pour apprendre d'avantage ! j'ai plusieurs chose à coder !:p 
  • Commenter cette réponse |
Score
0
òh
òi
|
Je n'en ai pas sous la main, mais j'essayerai d'en faire un dans la journée.
  • Commenter cette réponse |
Score
0
òh
òi
, Maître Yoda |
je croiyais que sa allais etre beaucoup plus facile est ce que tu aurais un script semblable que je pourrais tenter de modifier pour adapter a mon site je crois que ce serais vraiment plus facile pour moi !
  • Commenter cette réponse |
Score
0
òh
òi
|
Ca existe, du moins beaucoup de développeurs ont fait (et feront) ce genre de script mais c'est toujours très spécifique à un site, donc il est rare d'en trouver "tout prêts".
  • Commenter cette réponse |
Score
0
òh
òi
, Maître Yoda |
ok alors j'ai ajouter le champs Key a ma table qui est vide pour tout les membre logique

maintenant je suis vraiment embeter je croiyais qu'un tel script allais deja etre concu et que j'aurais seulement a le modifier car pour la modification de script je connais bien mais la création je suis pas le meilleur

alors je dois avoir 2 fichier un pour entrer le email et faire l'envois du email

un pour la modification du mot de passe qui sera en lien dans le email envoyer !

Je dois avouer que je ne sais pas par ou commenser et comment séparer tout sa !

je vais quand meme essayer ! je te reviens

  • Commenter cette réponse |
Score
0
òh
òi
|
Pour faire ton mail en html, essaye d'utiliser cette petite classe, je suis là pour aider à son utilisation :) 

Ensuite, je suis contre l'idée d'utiliser la clé d'activation (ou son champ) pour modifier le mot de passe:
1) tu ne pourras pas différencier l'utilisateur qui active son compte de celui qui change son mot de passe
2) Si l'utilisateur a activé son compte, il peut avoir l'url dans son historique et aller dessus
3) Comment faire si un utilisateur veut changer son mot de passe sans avoir activé son compte ?
  • Commenter cette réponse |
Score
0
òh
òi
, Maître Yoda |
Salut,

Merci de ton aide !

j'ai tenter le coup pour essayer de faire fonctionner tout sa mais bon je suis loin d'etre le pro du php !
  1. <?php
  2.  
  3.  
  4.  
  5.  
  6. mysql_connect("localhost", "seb", "***");
  7. mysql_select_db("iperso");
  8.  
  9. if (empty($_POST['email']) die('L\'email n'est pas donné');
  10. $email = $_POST['email'];
  11. // On récupère les infos sur l'utilisateur
  12. $sql = "SELECT ID_Utilisateur, Nom_Utilisateur, Adresse_Email FROM Comptes_Utilisateurs WHERE Adresse_Email='".mysql_real_escape_string($email)."' LIMIT 1";
  13. $res = mysql_query($sql);
  14. if (@mysql_num_rows($res)!=1) die('Email inconnu');
  15. $row = mysql_fetch_assoc($res);
  16. $pseudo = $row['Nom_Utilisateur'];
  17. $umail = $rom['Adresse_Email'];
  18. // On génère une clé unique et on l'insère dans la table utilisateurs
  19. $key = md5(uniqid(rand()));
  20. $sql = "UPDATE users SET key='".$key."' WHERE id=".$row['id'];
  21. $res = mysql_query($sql);
  22. // Maintenant on a $umail, $pseudo et $key, on peut générer le lien et le mail
  23. // Envoi du mail d'activation
  24. $sujet = "Changement de votre mot de passe";
  25.  
  26. $message = "Pour changer votre mot de passe, merci de cliquer sur le lien suivant :\n";
  27. $message .= "http://" . $_SERVER["SERVER_NAME"];
  28. $message .= "/recuperation.php?id=" . mysql_insert_id();
  29. $message .= "&key=" . $key;
  30.  
  31. // Si une erreur survient
  32. if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
  33. {
  34. $message = "Une erreur est survenue lors de l'envoi du email<br />\n";
  35. $message .= "Veuillez contacter l'administrateur afin de retrouver votre mot de passe";
  36.  
  37. <form method="post" action="/recuperation.php">
  38.  
  39.  
  40.  
  41. <p><label for="Adresse_Email">Adresse Email:</label><br />
  42.  
  43. <input type="text" title="Adresse_Email" name="Adresse_Email" /></p>
  44.  
  45.  
  46.  
  47. <p><label title="Envoyer">
  48.  
  49. <input type="submit" value="Envoyer" /></label></p>
  50.  
  51.  
  52.  
  53. </form>
  54.  
  55.  
  56. ?>


J'ai essayer d ajouter le html et l envois du email a ton script mais je crois que jai plus bousiller le tout que d'autre chose !! :( 

j'aurais besoin d'etre éclairer pour ajouter l envois du email et la partie html du script !

et aussi chaque membre on deja un champs Clef_Activation qui sevais a activer le compte par email est ce que je pourrais utiliser la meme clef pour la modification du mot de passe ?

seb
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS