Bonsoir,
je veux renvoyer un mot aléatoire au membre qui oublie son mot de passe.
Pour cela j'ai deux scripts que voici:
1/ script qui crée le mot de passe aléatoire.
2/ script qui traite et envoie le mot de passe par mail
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php function Genere_Password($size) { // Initialisation des caractères utilisables $characters = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"); for($i=0;$i<$size;$i++) { //$password = NULL; $password .= ($i%2) ? strtoupper($characters[array_rand($characters)]) : $characters[array_rand($characters)]; } return $password; } ?>
Merci de m'aider à corriger mes imperfections. particulièrement au niveau du code qui ecrase et renvoi le mot de passe.
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 <?php session_start(); $titre="Espace Communautaire ..::.. Mot de passe Perdu ..::.."; include("fonction_mp.php"); echo '<h1>Recupération de mot de passe !</h1>'; $email = $_POST['email']; // Je déclare la variable ici $membre_mdp = Genere_Password(12); // nouveau mot de passe générer aléatoirement if (!isset($_POST['email'])) //On est dans la page de traitement { //Vérification du mail $existe=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:email'); $existe->bindValue(':email',$email, PDO::PARAM_STR); $existe->execute(); $email_free=($existe->fetchColumn()!=1)?1:0; $existe->CloseCursor(); if(!$email_free) { echo 'Votre adresse email ne se trouve pas dans notre base de donnée !'; } else { $mp->fetch($existe); $bmp=$db->prepare("UPDATE membre_mdp FROM forum_membres WHERE email = '".$email."'"); $smp->fetch($retour); $mp->CloseCursor(); } } $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $objet = 'votre mot de passe, est' .$membre_mdp .'merci de le noter.'; if(!mail($mp['email'], $objet, $headers)) echo 'probleme lors de l\'envoi du mail'; else echo 'Votre mot de passe vient de partir ' ; ?>
Partager