Bonjour,
Voila je suis pas très débrouillard ( on peut dire ) avec les fonctions et j'ai un peu de mal avec celle qui suit...
On récupère déja les variables principales :
On génere un mot de passe prononciable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if ( (isset($_GET['code'])) && (isset($_GET['mail'])) ) { $code = $_GET['code']; $mail = $_GET['mail'];
Puis modifier le mdp actuel avec ce que la fonction à générer :
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 function passeLisible($length = 6) { $passe = ""; $consonnes = array("b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "z", "bl", "br", "cl", "cr", "ch", "dr", "fl", "fr", "gl", "gr", "pl", "pr", "qu", "sl", "sr"); $voyelles = array("a", "e", "i", "o", "u", "ae", "ai", "au", "eu", "ia", "io", "iu", "oa", "oi", "ou", "ua", "ue", "ui"); $nbrC = count($consonnes) - 1; $nbrV = count($voyelles) - 1; for ($i = 0; $i < $length; $i++) { $passe .= $consonnes[rand(0, $nbrC)] . $voyelles[rand(0, $nbrV)]; } return substr($passe, 0, $length); }
Puis envoyer le mdp généré par mail :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $sql =' UPDATE membre SET pass="' . passeLisible() . '" WHERE mail="' . $mail . '" '; $res = mysql_query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
Voila !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $mailexp = "no-reply@.com"; $objet = "Votre mot de passe"; $siteweb = "http://"; $newpass = "' . passeLisible() . '"; Mail("$mail","$objet","Bonjour,\n\n\nVoici ci-dessous votre nouveau mot de passe, vous pouvez le changer à votre guise via votre page de Profil: $newpass \n\n $siteweb\n\nMerci !\n\n\nPS: merci de ne pas répondre à ce courrier.","from: $mailexp");
Soucis...ca marche pas !!
Dans l'email, ca s'affiche : ' . passeLisible() . '
Et le mdp n'est pas changé dans la table mysql...
En vous remerciant d'avance...
Mad
Partager