Déclarer une valeur générée toute seule

Fermé
BULL3T - 9 mars 2015 à 20:14
 BULL3T - 10 mars 2015 à 17:06
Bonjour,

J'ai cherché sur internet un moyen de générer un mot de passe en PHP. Je suis tombé sur ça >> http://www.it-connect.fr/php-generateur-de-mot-de-passe-parametrable/

J'ai modifié leur code en rentrant plutôt que leurs valeurs que l'utilisateur choisi mes choix personnels.
Ça donne ça :

GÉNÉRATION D'UN MOT DE PASSE 
<br />


<?php
// Récupère les paramètres pour adapter selon les besoins de l'utilisateur
$SaisieNbrPasswd     = 1 ;
$SaisieNbrCaract    = 10 ;
$SaisieTypePasswd     = $_GET['typePasswd']    ;
 
// Type de caractères à prendre en compte pour générer les mots de passe (change selon paramètre utilisateur) :
$caract = "0123456789";
 
// Nombre de caractères que le mot de passe doit contenir (= saisie utilisateur) :
$nb_caract = $SaisieNbrCaract;
 
// On fait un première boucle pour générer des mots de passe jusqu'au nombre indiqué par l'utilisateur
// Puis une seconde boucle pour générer le mot de passe caractère par caractère jusqu'au nombre indiqué par l'utilisateur
for($nbrPasswd = 1; $nbrPasswd <= $SaisieNbrPasswd; $nbrPasswd++)
{
for($i = 1; $i <= $nb_caract; $i++) {
 
// On compte le nombre de caractères
$Nbr = strlen($caract);
 
// On choisit un caractère au hasard dans la chaine sélectionnée :
$Nbr = mt_rand(0,($Nbr-1));
 
// Pour finir, on écrit le résultat :
print $caract[$Nbr];
 
}
echo "<br>";
}
	
	
	
?>


Maintenant j'aimerai pouvoir utiliser le résultat plusieurs fois dans la page ( en mettant par exemple $resultatfinal, j'obtiens le code précédemment généré - pouvoir donc mettre 'echo $resultatfinal' pour afficher le code encore.
J'ai essayé plusieurs trucs, c'est sans résultat.

Jé débute vraiment en développement web.

Merci de toute aide complémentaire.

1 réponse

jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
Modifié par jordane45 le 9/03/2015 à 21:37
Bonjour,

Tu remplaces
print $caract[$Nbr];

Par :
$resultatfinal .=$caract[$Nbr];


Le code complét étant :
<?php
$resultatfinal="";
// Récupère les paramètres pour adapter selon les besoins de l'utilisateur
$SaisieNbrPasswd     = 1 ;
$SaisieNbrCaract    = 10 ;
$SaisieTypePasswd     = isset($_GET['typePasswd'])?$_GET['typePasswd']:"";
 
// Type de caractères à prendre en compte pour générer les mots de passe (change selon paramètre utilisateur) :
$caract = "0123456789";
 
// Nombre de caractères que le mot de passe doit contenir (= saisie utilisateur) :
$nb_caract = $SaisieNbrCaract;
 
// On fait un première boucle pour générer des mots de passe jusqu'au nombre indiqué par l'utilisateur
// Puis une seconde boucle pour générer le mot de passe caractère par caractère jusqu'au nombre indiqué par l'utilisateur
for($nbrPasswd = 1; $nbrPasswd <= $SaisieNbrPasswd; $nbrPasswd++) {
  for($i = 1; $i <= $nb_caract; $i++) {
 
    // On compte le nombre de caractères
    $Nbr = strlen($caract);
 
   // On choisit un caractère au hasard dans la chaine sélectionnée :
   $Nbr = mt_rand(0,($Nbr-1));
 
   // Pour finir, on écrit le résultat :
   $resultatfinal .=$caract[$Nbr];
  }
}
?>
GÉNÉRATION D'UN MOT DE PASSE 
<br />

<?php
//affichage du mot de passe généré:
 echo $resultatfinal ;
?>



Cordialement,
Jordane
0
Merci beaucoup, j'essaie tout de suite
0