Je voudrais savoir comment je pourrais générer un mot de passe aléatoire qui sera envoyé par mail puis mis a jour dans la base de donné. En fait j'ai peur qu'avec ceci
function GenerPassword()
{
$string="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
$newpass="";
for($i=0;$i<8;$i++)
{
$pass.=$string[mt_rand()%strlen($string)];
}
return $pass;
}
$mdp = GenerPassword();
echo $mdp;
Les mots de passe appelé du coup 2 fois (1x pour mail et 1 x pour db) soient different. Alors comment pourraije proceder ?<?PHP
//On verifi si deja cliqué OK
if (isset($_POST['envoyer'])){
//il a cliqué OK
if(isset($_POST['login'])) $login=$_POST['login'];
else $login="";
include ('configuration.php');
//On verifie user si existe
$db = mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname,$db);
$mdpsql = "SELECT id FROM servgame_clients WHERE login='$login'";
$mdpreq = mysql_query($mdpsql) or die ('Erreur SQL !'.$mdpsql.'<br>'.mysql_error());
$mdpres = mysql_num_rows($mdpreq);
mysql_close();
if (($mdpres!=0)){
//user existe on prend mail
$db = mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname,$db);
$reqmailsql = "SELECT email FROM servgame_clients WHERE login='$login'";
$reqmailreq = mysql_query($reqmailsql) or die ('Erreur SQL !'.$reqmailsql.'<br>'.mysql_error());
$reqmailres = mysql_num_rows($reqmailreq);
while($data = mysql_fetch_assoc($reqmailreq)){
//on genere un new mot de pass
//on met a jour le pass ds la base de donnée
/*
//On mail
mail("$login", "Votre nouveau mot de passe", "$newpass", "From: $mailadmin");
*/
//On annonce que c'est bon
echo"<div align=\"center\" class=\"centre\">Votre nouveau mot de passe vient de vous être envoyer à l'adresse mail<br>que vous avez indiqué lors de votre inscription</div>";
/*<script language=\"JavaScript\">
setTimeout(\"window.location='/index.php?page=Membres'\",3000);
</script>";*/
//user existe pas on affiche erreur + formulaire
}else{
echo"<div align=\"center\" class=\"centre\">Pour recevoir votre mot de passe par mail, veuillez indiquer votre login</div>
<br><br><div align=\"center\" class=\"signale\">Le login que vous avez enté n'existe pas</div><br><br>
<form action=\"/index.php?page=Membres&selec=Passperdu\" method=\"post\">
<table align=\"center\" border=\"0\"><tr><td width=\"67\" class=\"entete\">Login :</td>
<td width=\"10\"></td><td width=\"144\"><input type=\"text\" name=\"login\" maxlength=\"50\" class=\"entete\">
</td></tr><tr><td colspan=\"3\" align=\"center\"><table width=\"147\" border=\"0\" align=\"right\">
<tr><td width=\"149\"><input type=\"submit\" value=\"Envoyer\" name=\"envoyer\" class=\"entete\"></td>
</tr></table></td></tr></table></form>";
}
//lutilisateur na pas cliqué OK
}else{
if(isset($_POST['login'])) $login=$_POST['login'];
else $login="";
echo"<div align=\"center\" class=\"centre\">Pour recevoir votre mot de passe par mail, veuillez indiquer votre login </div>
<br><br><br><br><br>
<form action=\"/index.php?page=Membres&selec=Passperdu\" method=\"post\">
<table align=\"center\" border=\"0\"><tr><td width=\"67\" class=\"entete\">Login :</td>
<td width=\"10\"></td><td width=\"144\"><input type=\"text\" name=\"login\" maxlength=\"50\" class=\"entete\">
</td></tr><tr><td colspan=\"3\" align=\"center\"><table width=\"147\" border=\"0\" align=\"right\">
<tr><td width=\"149\"><input type=\"submit\" value=\"Envoyer\" name=\"envoyer\" class=\"entete\"></td>
</tr></table></td></tr></table></form>";
}
?>