<?php include('function.php'); echo '<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Espace Membre en PHP - Par JejeScript et DBMwebdesign.fr</title> <link href="'.URLSITE.'/design/black-style.css" rel="stylesheet" type="text/css" media="screen"> </head> <body>'; ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionpublic static function passOubli($email)?
static function passOubli($email)J'ai modifier juste la page new page car celle de l'auteur été vraiment incomplète voici le script original :
<?php session_start(); include('header.php'); echo '<div id="header"> <div id="logo"></div> <div id="menu"> <form action="" method="post"> <table align="center" class="form"> <tr> <td colspan="3" align="center" class="titre_form">Mot de passe oublié</td> </tr>'; if(!empty($_POST['envoi'])) { echo '<tr><td colspan="3" align="center">'; echo '</td></tr>'; } echo '<tr> <td valign="top" rowspan="4"><img src="design/image/connexion.png" width="70" height="70" /></td> </tr> <tr> <td>Votre Email : </td> <td><input type="text" name="email" /></td> </tr> <tr> <td colspan="3" align="center"><input type="submit" name="envoi" value="Valider" class="input" /></td> </tr> </table> </form> </div> </div>'; include('footer.php'); ?>
// mot de passe oublier // Si l'email est valide // Si l'email existe dans la bdd // creation d'un nouveau mot de passe // enregistrement du nouveau mot de passe // Si l'envoie de l'email avec nouveau mot de passe est ok // retourne message d'information // Sinon // retourne erreur de l'envoie // Sinon // retourne email existe pas dans la bdd // Sinon // Retourne email nn valide public static function passOubli($email) { if(filter_var($email, FILTER_VALIDATE_EMAIL)) { $verifMail = Bdd::connectBdd()->prepare(SELECT.ALL.MEMBRE.EMAIL); $verifMail -> bindParam(':email', $email); $verifMail -> execute(); if($verifMail -> rowCount() !== 1) { $donnee = $verifMail -> fetch(PDO::FETCH_ASSOC); $newPass = Cryptage::chaine(8); $cryptPass = Cryptage::crypter($newPass); $enregistrePass = Bdd::connectBdd()->prepare(UPDATE.MEMBREZ.MAJPASS.EMAIL); $enregistrePass -> bindParam(':newPass', $cryptPass); $enregistrePass -> bindParam(':email', $email); $enregistrePass -> execute(); // ************************* // $headers ='From: "'.$donnee['nom'].' '.$donnee['prenom'].'"'.$email.''."\n"; $headers .='Reply-To: '.MAILSITE.''."\n"; $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; $headers .='Content-Transfer-Encoding: 8bit'; $sujet = "Nouveau mot de passe pour ".NOMSITE; $message = 'Bonjour '.$donnee['pseudo'].','."\n\n"; $message .= "Voici votre nouveau mot de passe : ".$newPass."\n\n"; $message .= 'Cordialement,'."\n"; $message .= NOM_SITE.'.'."\n"; if(mail(MAIL_SITE, $sujet, $message, $headers)) { return 'Un nouveau mot de passe viens de vous être envoyé,<br />pensez à vérifiez vos spams.'; } else { return '<span class="error-info">"Erreur lors de l\'envoie de votre mot de passe.</span>'; } } else { return '<span class="error-info">L\'adresse email '.$email.' n\'existe pas,<br />veuillez en saisir une autre et recommencer.</span>'; } } else { return '<span class="error-info">L\'adresse email saisi n\'est pas valide.</span>'; } }
echo Inscription::passOubli($email);
echo Connexion::passOubli($email);
public static function passOubli($email) { if(filter_var($email, FILTER_VALIDATE_EMAIL)) { $verifMail = Bdd::connectBdd()->prepare(SELECT.ALL.MEMBRE.EMAIL); $verifMail -> bindParam(':email', $email); $verifMail -> execute(); if($verifMail -> rowCount() !== 1) { $donnee = $verifMail -> fetch(PDO::FETCH_ASSOC); $newPass = Cryptage::chaine(8); $cryptPass = Cryptage::crypter($newPass); $enregistrePass = Bdd::connectBdd()->prepare(UPDATE.MEMBREZ.MAJPASS.EMAIL); $enregistrePass -> bindParam(':newPass', $cryptPass); $enregistrePass -> bindParam(':email', $email); $enregistrePass -> execute(); // ************************* // $headers ='From: "'.$donnee['nom'].' '.$donnee['prenom'].'"'.$email.''."\n"; $headers .='Reply-To: '.MAILSITE.''."\n"; $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; $headers .='Content-Transfer-Encoding: 8bit'; $sujet = "Nouveau mot de passe pour ".NOMSITE; $message = 'Bonjour '.$donnee['pseudo'].','."\n\n"; $message .= "Voici votre nouveau mot de passe : ".$newPass."\n\n"; $message .= 'Cordialement,'."\n"; $message .= NOM_SITE.'.'."\n"; if(mail(MAIL_SITE, $sujet, $message, $headers)) { return 'Un nouveau mot de passe viens de vous être envoyé,<br />pensez à vérifiez vos spams.'; } else { return '<span class="error-info">"Erreur lors de l\'envoie de votre mot de passe.</span>'; } } else { return '<span class="error-info">L\'adresse email '.$email.' n\'existe pas,<br />veuillez en saisir une autre et recommencer.</span> <br><pre>'.SELECT.ALL.MEMBRE.EMAIL .' <br> Email = '.$email.' <br> RowCount = '. $verifMail -> rowCount() .' </pre></br>'; } } else { return '<span class="error-info">L\'adresse email saisi n\'est pas valide.</span>'; } }
public static function passOubli($email) { if(filter_var($email, FILTER_VALIDATE_EMAIL)) { $verifMail = Bdd::connectBdd()->prepare(SELECT.ALL.MEMBRE.EMAIL); $verifMail -> bindParam(':email', $email); $verifMail -> execute(); if($verifMail -> rowCount() == 1) { $donnee = $verifMail -> fetch(PDO::FETCH_ASSOC); $newPass = Cryptage::chaine(8); $cryptPass = Cryptage::crypter($newPass); $enregistrePass = Bdd::connectBdd()->prepare(UPDATE.MEMBREZ.MAJPASS.EMAIL); $enregistrePass -> bindParam(':newPass', $cryptPass); $enregistrePass -> bindParam(':email', $email); $enregistrePass -> execute(); // ************************* // $headers ='From: "'.$donnee['nom'].' '.$donnee['prenom'].'"'.$email.''."\n"; $headers .='Reply-To: '.MAILSITE.''."\n"; $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; $headers .='Content-Transfer-Encoding: 8bit'; $sujet = "Nouveau mot de passe pour ".NOMSITE; $message = 'Bonjour '.$donnee['pseudo'].','."\n\n"; $message .= "Voici votre nouveau mot de passe : ".$newPass."\n\n"; $message .= 'Cordialement,'."\n"; $message .= NOM_SITE.'.'."\n"; if(mail(MAIL_SITE, $sujet, $message, $headers)) { return 'Un nouveau mot de passe viens de vous être envoyé,<br />pensez à vérifiez vos spams.'; } else { return '<span class="error-info">"Erreur lors de l\'envoie de votre mot de passe.</span>'; } } else { return '<span class="error-info">L\'adresse email '.$email.' n\'existe pas,<br />veuillez en saisir une autre et recommencer.</span> <br><pre>'.SELECT.ALL.MEMBRE.EMAIL .' <br> Email = '.$email.' <br> RowCount = '. $verifMail -> rowCount() .' </pre></br>'; } } else { return '<span class="error-info">L\'adresse email saisi n\'est pas valide.</span>'; } }
if(mail(MAIL_SITE, $sujet, $message, $headers)) { return 'Un nouveau mot de passe viens de vous être envoyé,<br />pensez à vérifiez vos spams.'; } else { return '<span class="error-info">"Erreur lors de l\'envoie de votre mot de passe.</span>'; }
cette erreur (Fatal error: Call to undefined method Inscription::passOubli() in /homepages/15/d272926618/htdocs/essai/membre/new_passe.php on line 31):Celle-ci est RESOLU.