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

PHP & Base de données Discussion :

Pas reception email pour MDP oublié


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Par défaut Pas reception email pour MDP oublié
    Salut , je viens vers vos lumières de cerveaux frais...
    Je ne vois pas mon erreur sur ce script php où je tente de recevoir un email de rappel de MDP..je vous glisse le script..merci (debug verif envoi email fait et ok à priori)
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    <?php
    include("header.inc.php");
     
    $tmpself=$_SERVER["PHP_SELF"];
    $tab_tmpself=split('/',$tmpself);
    $selfurl='http://'.$_SERVER["SERVER_NAME"].ereg_replace($tab_tmpself[(count($tab_tmpself)-1)],'',$tmpself);
    if ($_POST["submit_mdp"])
    {
    	$email=$_POST["email2"];	
    	if ($email=='')
    	{
    		?>
            <script type="text/javascript">
    		alert('Veuillez renseigner votre adresse email !');
    		</script>
            <?php
    	}
    	else 
    	{
    		$qexists = mysql_query("SELECT * FROM users WHERE email='$email'");
    		$rexists = mysql_fetch_assoc($qexists);
    		if (($rexists["id_user"]>0)==false)
    		{
    		?>
            <script type="text/javascript">
    		alert('Cette adresse email n\'est associée à aucun compte !');
    		</script>
            <?php
    		}
    		else 
    		{
    			$sujet="Youresto.com - Votre mot de passe";
     
    			$msg="Votre demande de mot de passe a bien été enregistrée, retrouvez ci-dessous vos identifiants: <br /><br />Compte: ".$email."<br />Mot de passe: ".$rexists["pwd"]."<br /><br />Vous pouvez vous connecter à votre compte en cliquant <a href=\"www.youresto.com/identification.php\">ici</a><br /><br />Cordialement,<br /><br />L'equipe Youresto.com.";
     
    			$entete = "MIME-Version: 1.0\r\n";
    			$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
    			$entete .= "From: youResto@".$ip.".com\r\n";
     
    			mail($email,$sujet,$msg,$entete);
     
    			?>
    			<script type="text/javascript">
                alert('Votre demande de mot de passe a bien été enregistrée. Un email contenant votre mot de passe vous a été envoyé.');
                </script>
                <?php
    		}
    	}
    }
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>YouResto.com - Inscription</title>
    <link rel="stylesheet" type="text/css" href="css/main-style.css"/>
    <link rel="stylesheet" type="text/css" href="css/mobile-style.css"/>
     
    <link rel="stylesheet" type="text/css" href="js_scripts/jquery.fancybox/jquery.fancybox.css" media="screen" />
    <script type="text/javascript" src="js_scripts/jquery.fancybox/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js_scripts/jquery.fancybox/jquery.easing.1.3.js"></script>
    <script type="text/javascript" src="js_scripts/jquery.fancybox/jquery.fancybox-1.2.1.pack.js"></script>
    <script type="text/javascript">
    $(document).ready(function() 
    {
    	$("a.inline").fancybox();
    	$("a.inline").fancybox({ 'hideOnContentClick': false }); 
    });
    </script>
    </head>
     
    <body>
    <div id="cadre_principal">
    <div id="header"><? include("headerhtml.inc.php"); ?></div>
    	<div class="top-bar white"><h2><a href="http://youresto.com">youresto.com </a><span class="right">acceder à votre compte</span></h2></div>
     
     
     
    	  <div class="medium right ">
    		<h2 class="bloc2">Identification</h2>
    		<form name="form_resto" action="#" method="post">
     
    			<h3>Me connecter</h3><hr>
    			<p class="button"><strong>Email:</strong></p>
    			<span ><input class="input-search" type="text" name="email" value="<?=htmlentities(stripslashes($_POST["email"]));?>"/></span>
    			<div class="clear"></div>
    			<p class="button"><strong>Mot de passe:</strong></p>
    			<span ><input class="input-search" type="password" name="pwd" value=""/></span>
                <p class="title-xs"><a class="inline" href="#mdp_oublie">Mot de passe oublié ?</a></p>
    			<p><br /><input type="submit" name="submit_identification" value="Go!" style="color: white; background: none
                                    repeat scroll 0% 0% rgb(0, 155, 119);
                                    font-weight: bold; text-decoration:
                                    none; font-size: 50px; padding: 3px
                                    15px;margin-top:4px;width:98%; "/></p>
    		</form><br>
     
    		</div>
     
     
    	<div style="display:none" id="mdp_oublie">
            <form name="form_mdp" action="#" method="post">
                <div class="popupf" style="height:450px;">
                    <h2 style="font-size:13px; padding-bottom:10px;"><strong>Vous avez perdu votre mot de passe</strong></h2>
                    <p class="title-xs">Afin de retrouver votre mot de passe, renseignez ci-dessous votre adresse email utilisée lors de votre inscription sur youresto.com:</p>
                    <h4><strong>Email</strong></h4>
                    <p style="padding-bottom:15px"><strong><input type="text" name="email2" id="email2" style="width:200px; border:1px solid #AAAAAA;"/></strong></p>
                    <p><input type="submit" value="Valider ma demande" name="submit_mdp" id="email2"/></p>
                </div>
            </form>
    	</div>
    </div>
     
    </body>
    </html>

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Salut.
    Essaie cela ?
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    <?php
    include("header.inc.php");
     
    $tmpself=$_SERVER["PHP_SELF"];
    $tab_tmpself=split('/',$tmpself);
    $selfurl='http://'.$_SERVER["SERVER_NAME"].ereg_replace($tab_tmpself[(count($tab_tmpself)-1)],'',$tmpself);
    if ($_POST["submit_mdp"])
    {
    	$email=trim($_POST["email2"]);	
    	if ($email=='')
    	{
    		?>
            <script type="text/javascript">
    		alert('Veuillez renseigner votre adresse email !');
    		</script>
            <?php
    	}
    	else 
    	{
    		$qexists = mysql_query("SELECT count(*) as nb FROM users WHERE email='$email'");
    		$rexists = mysql_fetch_assoc($qexists);
    		if ((int) $rexists['nb']==0)
    		{
    		?>
            <script type="text/javascript">
    		alert('Cette adresse email n\'est associée à aucun compte !');
    		</script>
            <?php
    		}
    		else 
    		{
             $qexists = mysql_query("SELECT * as nb FROM users WHERE email='$email'");
             $rexists = mysql_fetch_assoc($qexists);
    			$sujet="Youresto.com - Votre mot de passe";
     
    			$msg="Votre demande de mot de passe a bien été enregistrée, retrouvez ci-dessous vos identifiants: <br /><br />Compte: ".$email."<br />Mot de passe: ".$rexists["pwd"]."<br /><br />Vous pouvez vous connecter à votre compte en cliquant <a href=\"www.youresto.com/identification.php\">ici</a><br /><br />Cordialement,<br /><br />L'equipe Youresto.com.";
     
    			$entete = "MIME-Version: 1.0\r\n";
    			$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
    			$entete .= "From: youResto@".$ip.".com\r\n";
     
    			mail($email,$sujet,$msg,$entete);
     
    			?>
    			<script type="text/javascript">
                alert('Votre demande de mot de passe a bien été enregistrée. Un email contenant votre mot de passe vous a été envoyé.');
                </script>
                <?php
    		}
    	}
    }
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>YouResto.com - Inscription</title>
    <link rel="stylesheet" type="text/css" href="css/main-style.css"/>
    <link rel="stylesheet" type="text/css" href="css/mobile-style.css"/>
     
    <link rel="stylesheet" type="text/css" href="js_scripts/jquery.fancybox/jquery.fancybox.css" media="screen" />
    <script type="text/javascript" src="js_scripts/jquery.fancybox/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js_scripts/jquery.fancybox/jquery.easing.1.3.js"></script>
    <script type="text/javascript" src="js_scripts/jquery.fancybox/jquery.fancybox-1.2.1.pack.js"></script>
    <script type="text/javascript">
    $(document).ready(function() 
    {
    	$("a.inline").fancybox();
    	$("a.inline").fancybox({ 'hideOnContentClick': false }); 
    });
    </script>
    </head>
     
    <body>
    <div id="cadre_principal">
    <div id="header"><? include("headerhtml.inc.php"); ?></div>
    	<div class="top-bar white"><h2><a href="http://youresto.com">youresto.com </a><span class="right">acceder à votre compte</span></h2></div>
     
     
     
    	  <div class="medium right ">
    		<h2 class="bloc2">Identification</h2>
    		<form name="form_resto" action="#" method="post">
     
    			<h3>Me connecter</h3><hr>
    			<p class="button"><strong>Email:</strong></p>
    			<span ><input class="input-search" type="text" name="email" value="<?=htmlentities(stripslashes($_POST["email"]));?>"/></span>
    			<div class="clear"></div>
    			<p class="button"><strong>Mot de passe:</strong></p>
    			<span ><input class="input-search" type="password" name="pwd" value=""/></span>
                <p class="title-xs"><a class="inline" href="#mdp_oublie">Mot de passe oublié ?</a></p>
    			<p><br /><input type="submit" name="submit_identification" value="Go!" style="color: white; background: none
                                    repeat scroll 0% 0% rgb(0, 155, 119);
                                    font-weight: bold; text-decoration:
                                    none; font-size: 50px; padding: 3px
                                    15px;margin-top:4px;width:98%; "/></p>
    		</form><br>
     
    		</div>
     
     
    	<div style="display:none" id="mdp_oublie">
            <form name="form_mdp" action="#" method="post">
                <div class="popupf" style="height:450px;">
                    <h2 style="font-size:13px; padding-bottom:10px;"><strong>Vous avez perdu votre mot de passe</strong></h2>
                    <p class="title-xs">Afin de retrouver votre mot de passe, renseignez ci-dessous votre adresse email utilisée lors de votre inscription sur youresto.com:</p>
                    <h4><strong>Email</strong></h4>
                    <p style="padding-bottom:15px"><strong><input type="text" name="email2" id="email2" style="width:200px; border:1px solid #AAAAAA;"/></strong></p>
                    <p><input type="submit" value="Valider ma demande" name="submit_mdp" id="email2"/></p>
                </div>
            </form>
    	</div>
    </div>
     
    </body>
    </html>
    Oui, je sais que mysql_num_rows() existe, mais comme tu vas passer à PDO au prochain message, je te fais gagner du temps.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Par défaut
    Salut Dendrite, merci pour ta proposition...mais le résultat est page blanche :-)

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Mais au fait, elle est où ta connexion ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $qexists = mysql_query("SELECT * FROM users WHERE email='$email'");
    $rexists = mysql_fetch_assoc($qexists);
    echo '<pre>';
    print_r($rexists);
    echo '</pre>';
    Par ailleurs,
    1) tu stockes dans ta base les mdp en dur ????????????? (une infinité de points d'interrogation)
    2) Et tu demandes à l'utilisateur de te donner juste le mail, et tu lui envoies le mdp ??????????????????????????
    C'est vraiment tout bénef pour le mec qui viole ta base de données. C'est sympa... mais je ne suis pas prête de m'inscrire sur ton site !
    Et si je mets le mail de potes dont je sais qu'ils sont sur ton site, tu m'enverras leur mot de passe, ils seront contents.
    3) Enfin ton code est tout ouvert à l'injection SQL.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Par défaut
    ..c'est vrai que ça a été fait il y a quelques années, et la verif email avec la clé générée etait suffisante. Je vais changer pour placer un MD5...

    Mais bon, je ne comprends pas pour quoi le script oublie MDP ne fonctionne pas, alors que le script inscription envoi correctement les alertes email...

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu n'as pas testé mon dernier code ? tu ne montres pas ce que ça affiche ?

    Ce n'est pas md5 qui te manque (encore raté).

    C'est
    1) pasword_hash et password_verify, si tu as PHP5.3 ou plus
    2) Ensuite, tu te contentes de comparer deux chaînes cryptées pareil, sans jamais pouvoir toi fournir la chaîne de départ.
    3) Comment faire quand un utilisateur perd son mot de passe ? Tu lui envoies par mail un lien avec un token unique pour être sûr que c'est bien celui qui accède à la boîte mail qui veut changer son mdp, et ce token déclenchera la possibilité de saisir un nouveau mot de passe.
    4) tu passes à PDO ET aux requêtes préparées pour prévenir les injections SQL...

    Bref, t'as un peu de boulot mais c'est urgent ! parce que ton site est une passoire en l'état.
    edit : d'ailleurs, je te conseille de gommer le nom ici, histoire de ne pas attirer les nuisibles.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. [Achat] Apple n'oublie pas la Belgique pour ses Apple Store
    Par Marcos Ickx dans le forum Apple
    Réponses: 1
    Dernier message: 22/10/2009, 18h46
  2. Pas de DNS pour les clients
    Par M.Dlb dans le forum Réseau
    Réponses: 2
    Dernier message: 05/07/2004, 23h06

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