IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Script qui sert à envoyer par email le mot de passe oublié d'un membre


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Script qui sert à envoyer par email le mot de passe oublié d'un membre
    Bonjour,

    Après deux jours de recherche, j'ai décidé de faire appel à votre savoir en postant mon script PHP.
    Celui-ci me sert à envoyer par email le mot de passe oublié d'un membre, il n'y a qu'un seul champ que je récupère et selon moi, le code dans sa globalité est vraiment simpliste mais voilà, dès l'email saisi dans le champ, je tombe encore et toujours sur la même réponse contenue dans mon dernier else, à savoir : "L'email indiqué n'existe pas. Retour sur la page d'accueil."

    Si quelqu'un pourrait m'indiquer l'erreur ou plutôt l'oubli puisque apparemment ce n'est pas réellement une erreur...

    Par avance merci.

    P.S. : selon moi, le problème serait dans ma requête SQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
     
    if(isset($_POST['email']))      $email=$_POST['email'];
    else      $email="";
     
    // On vérifie si les champs sont vides
    if ($email == "")
        {
        echo '<b>Veuillez remplir le champ "Votre email".<br /><a href="form_password.php">Cliquez ici</a> pour revenir sur la page du formulaire.</b>';
        }
    else     
        {	
    	// On écrit la requête SQL
            $sql = 'SELECT COUNT(email) FROM tbl_membre WHERE email = \'$email\'';
     
    	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    	if ($req['email'] == 1)
    	{
    		$headers  = 'MIME-Version: 1.0' . "\r\n";
    		$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    		$objet = 'Récupération de votre mot de passe';
     
    		$retour = mysql_query('SELECT pass FROM tbl_membre');
     
    		mail ($req['email'], $objet, $retour['password'], $headers);
    	}
     
    	else
    	{
    		echo '<b>L\'email indiqué n\'existe pas. Retour sur <a href="index.php">la page d\'accueil</a>.</b>'; 
    	}}
    ?>

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 477
    Points : 4 688
    Points
    4 688
    Par défaut
    Salut,
    tu peux directement tester si le mail n'est pas vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    if(!empty($_POST['email']))
    $email = $_POST['email'];
    else
    exit("mail vide.");
     
    //pas besoin de faire un count
    $sql = "SELECT email FROM tbl_membre WHERE email = '".$email."' ";
    $req = mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    if(mysql_num_rows($req) != 1)//si le nombre de lignes retourne par la requete != 1
    exit("mail inconnu.");
    else
    {
    $row1 = mysql_fetch_assoc($req);
    $retour = mysql_query("SELECT pass FROM tbl_membre WHERE email = '".$email."' ");
    $row2 = mysql_fetch_assoc($retour);
     
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $objet = 'Récupération de votre mot de passe';
     
    if(!mail($row1['email'], $objet, $row2['pass'], $headers))
    echo 'probleme lors de l\'envoi du mail';
    else
    echo 'mail envoye';
    }

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Merci !
    Je ne sais comment te remercier Doksuri, et puis quel rapidité dans ta réponse, je viens de mettre en place le script proposé et ça marche niquel.

    Merci de nouveau pour ton aide ainsi que les commentaires laissés dans le script, ça m'a permis de bien comprendre son exécution.

    Bonne journée.

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 477
    Points : 4 688
    Points
    4 688
    Par défaut
    De rien, on est la pour ca

    bonne chance pour la suite

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Points : 82
    Points
    82
    Par défaut
    waaa reponse super je me demandais comment je pourrais ajouter un "mot de passe oublié" sur mon site et je tombe là sur ta repomse pas trop compliquée et fonctionnelle :p

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut clever-man
    et pour les mot de pass codé avec md5 ???

  7. #7
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Pour les mots de pass en MD5, tu passe la saisi utilisateur en MD5 et tu compares avec le MD5 de ta base

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/03/2008, 09h37
  2. attaché un document et l'envoyer par email
    Par nou366 dans le forum Débuter
    Réponses: 2
    Dernier message: 01/05/2006, 19h15
  3. Réponses: 2
    Dernier message: 18/04/2006, 11h44
  4. [FPDF] Créer un PDF et l'envoyer par email avec PHPMailer
    Par nico33307 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/12/2005, 23h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo