Vérification de code PHP

Résolu
Debutant en webmastering -  
Bonjour,

j'aimerais savoir si "mon" code semble cohérent

//Génération d'un mot de passe de 12 caractères
function wd_generatePassword($length=12, $possible='$=@#0123456789bcdfghjkmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ')
{
$password = '';

$possible_length = strlen($possible) - 1;

#
# add random characters to $password for $length
#

while ($length--)
{
#
# pick a random character from the possible ones
#

$except = substr($password, -$possible_length / 2);

for ($n = 0 ; $n < 5 ; $n++)
{
$char = $possible{mt_rand(0, $possible_length)};

#
# we don't want this character if it's already in the password
# unless it's far enough (half of our possible length).
# note: we have 4 tries to find a suitable one.
#

if (strpos($except, $char) === false)
{
break;
}
}

$password .= $char;
}

return $password;
}

if($_POST['Sexe_cli']=='Masculin')
{
$Sexe='M.';
}
else
{
$Sexe='Mme.';
}

$contenu = '<html>
<head>
<title>Message d\'inscription</title>
</head>
<body>
<form action="recupformulaire.php" method="POST">

Merci, <br/>
'.$Sexe.' '.$Nom_cli.' d\'avoir choisi de vous inscrire sur notre site. <br/>
Nous espérons que celui-ci vous conviendra. <br/><br/>
Votre identifiant est votre nom qui est: <br/>
'.$Nom_cli.' <br/><br/>
et votre mot de passe est: <br/>
'.$password.' <br/><br/>
A bientôt.
</form>
</body>
</html>';
mail('.$E_mail_cli.','Vos identifiants','.$contenu.');

4 réponses

  1. :'( ok sinon tu ne saurais pas coder la génération d'un mot de passe car c'est ce que j'ai trouvé sur le net et sinon je ne vois pas vraiment comment faire
      1. copié / collé + fonction "echo" mais rien ne s'affiche c'est normal ??
      2. Non.

        echo $chaine doit te donner une chaine de 20 caractères aléatoires.
      3. c'est bien ce que j'ai écrit mais quand je le lance sous Firefox je n'obtiens qu'une page vierge :'(
      4. Ben je sais pas comment tu fais parce que chez moi ça marche très bien....
    1. Bonjour

      Il est très bien, ton programme de mot de passe. à condition de ne pas oublier d'appeler la fonction !
      Tu peux ajouter, juste avant $contenu = '<html> :
      $password=wd_generatePassword();

      ou $password=wd_generatePassword(6); si tu veux un mot de passe de 6 caractères par exemple

      et ne t'inquiète pas, # sert bien à faire des commentaires en PHP, même si on voit beaucoup plus souvent //