Mot de passe perdu

Fermé
LaChaux78 Messages postés 583 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 14 janvier 2025 - 20 nov. 2016 à 10:05
jordane45 Messages postés 38397 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 janvier 2025 - 20 nov. 2016 à 17:10
Bonjour
J'ai fait un script pour les membres qui aurai perdu leur mot de passe, Ce que je n'arrive pas à comprendre c'est pourquoi la requète UPDATE ne fonctionne pas. Par contre je reçois bien le mails avec toutes les infos du nouveau MDP mais aucune modification dans ma base de donnée. J'ai l'impression que cela vient des ECHO mais j'en suis pas certain.
Si vous pouvez m'aider s'ils vous plait.
Merci
if(isset($_POST['action'])) {

    $nom	= isset($_POST['nom']) ? $_POST['nom'] : '';
    $prenom	= isset($_POST['prenom']) ? $_POST['prenom'] : '';
    $email	= isset($_POST['email']) ? $_POST['email'] : '';
    $pseudo     = isset($_POST['pseudo']) ? $_POST['pseudo'] : '';
    $passwd	= isset($_POST['passwd']) ? $_POST['passwd'] : '';

    if(!empty($nom) AND !empty($prenom) AND !empty($email)) {

        $requete = "SELECT * FROM cdc_personnes
                    WHERE nom='".$nom."'
                    AND prenom='".$prenom."'
                    AND email='".$email."'";
        $resultat = execRequete($requete,$connexion);
        
        if (list($nom, $prenom, $pseudo, $passwd) = $r=mysql_fetch_object($resultat)) {

	    $random = rand(759317, 985120);
	    $new_password = $random;

	    $email_password = $new_password;

	    $requete = "UPDATE cdc_personnes SET passwd='$new_password'
			WHERE nom='$nom'
                        AND prenom='$prenom'";
	    $resultat = execRequete($requete,$connexion);
                        
            $requete1  = "SELECT * FROM cdc_configsite where clef='resp'";
            $resultat1 = ExecRequete($requete1,$connexion);
            $r1=mysql_fetch_object($resultat1);

            $requete2  = "SELECT * FROM cdc_configsite where clef='cdctel'";
            $resultat2 = ExecRequete($requete2,$connexion);
            $r2=mysql_fetch_object($resultat2);

            $requete3  = "SELECT * FROM cdc_configsite where clef='cdcmail'";
            $resultat3 = ExecRequete($requete3,$connexion);
            $r3=mysql_fetch_object($resultat3);

            $requete4  = "SELECT * FROM cdc_configsite where clef='cdcurl'";
            $resultat4 = ExecRequete($requete4,$connexion);
            $r4=mysql_fetch_object($resultat4);

                $mail = mail($email,

                    "Rappel de tes identifiants",
                    "Bonjour ".$r->prenom.",<br/>
                    Tu as souhaité recevoir ton Login et ton Mot de Passe...les voici...<br/><br/>
                    Ton Login est :
                    <b><li>".$r->pseudo."</li></b><br/>
                    Ton Mot de passe est :
                    <b><li>".$email_password."</li></b><br/><br/>

                    A bientôt !<br/>"

                        . $r1->valeur . "<br/>"
                        . $r2->valeur . "<br/>"
                        . $r3->valeur . "<br/>"
                        . $r4->valeur . "<br/>",
					
                    'Content-type: text/html; charset=utf-8'."\r\n",
                    "From: monsite.fr <adressemail@orange.fr>");
                
                echo "Ton mot de passe et ton Login viens de t-être envoyé à l'adresse : [ $email ] Tu va les recevoir dans quelques minutes.";
	} else {
		echo"<span class='erreur'><b><font color='red'>Ton adresse mail ne correspond pas avec ton nom et ton prénom!</font></b></span>";
	}
    } else echo "<div style='color:red'>Veuillez remplir tout les champs, merci.</div>";
}   

1 réponse

jordane45 Messages postés 38397 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 janvier 2025 4 732
20 nov. 2016 à 17:10
Bonjour,

Commence par faire un echo de $requete
 $requete = "UPDATE cdc_personnes SET passwd='$new_password'
			WHERE nom='$nom'
                        AND prenom='$prenom'";

echo $requete;



puis, avec le résultat obtenu, vas tester cette requête DIRECTEMENT dans ta BDD.


NB : Tu sembles encore utiliser l'ancienne extension Mysql ... je t'invite à lire ceci https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top puis à passer à PDO ou mysqli



0