Bonjour à nouveau,
Je tente de faire un générateur de mot de passe. Un clic sur un bouton remplirait une textbox avec un mot de passe générer aléatoirement.
Voici le résultat :
Et voici le formulaire :
Puis voici là page du générateur :
Où est le problème ? Est-ce que c'est le fait d'avoir la modification de la base de données et le générateur sur la même page qui pose un problème ?
Cordialement,
lizeal
Modifié par lizeal (10 Feb 2014 - 16:43)
Je tente de faire un générateur de mot de passe. Un clic sur un bouton remplirait une textbox avec un mot de passe générer aléatoirement.
Voici le résultat :
Et voici le formulaire :
<form name="add_user" method="post" action="ajouterAdherent_add.php">
<?php
$req="select * from adherent order by NomAdherent asc";
$exec=mysql_query($req);
echo '<br>Nom de l adhérent : <select name="NomAdherent">';
while ($ligne=mysql_fetch_array($exec))
{
echo '<option value="'.$ligne['NomAdherent'].'">'.$ligne['NomAdherent'];
}
echo '</select><br>';
?>
<label for="mdpUtiliateur">Mot de passe :</label><br/>
<input type="password" name="mdpUtilisateur" value="<? include('ajouterAdherent_add.php')?>" readonly="readonly"/><input type="button" value="Générer un mot de passe" onclick="<?include('ajouterAdherent_add.php')?>" />
<br>
<input type="submit" name="submit" value="Ajouter l'adhérent" /></form>
Puis voici là page du générateur :
<?php
include "connexion.php";
$_SESSION['mess'] = '';
$_nomAdherent = htmlentities($_POST["nomAdherent"]);
$_mdpUtilisateur = htmlentities($_POST["mdpUtilisateur"]);
if (!isset($_nomAdherent) || !isset($_mdpUtilisateur))
{
echo'
<script>
document.location="javascript:history.back()";
</script>';
}
else
{
$req="select NomAdherent, mdpUtilisateur from adherent where NomAdherent=$_nomAdherent";
$exec=mysql_query($req);
if (mysql_num_rows($exec)==0)
{
$num=1;
}
else
{
$ligne=mysql_fetch_array($exec);
$num=$ligne['Id'] + 1;
}
$sql="update into adherent (mdpUtilisateur) values ('$mdpUtilisateur')";
mysql_query($sql);
header ("Location: ajouterAdherent.php");
}
?>
<!-- GENERATEUR DE MOTS DE PASSE -->
<?php
function genererMDP ($longueur = 8){
// initialiser la variable $mdp
$mdp = "";
// Définir tout les caractères possibles dans le mot de passe,
// Il est possible de rajouter des voyelles ou bien des caractères spéciaux
$possible = "2346789bcdfghjkmnpqrtvwxyzBCDFGHJKLMNPQRTVWXYZ";
// obtenir le nombre de caractères dans la chaîne précédente
// cette valeur sera utilisé plus tard
$longueurMax = strlen($possible);
if ($longueur > $longueurMax) {
$longueur = $longueurMax;
}
// initialiser le compteur
$i = 0;
// ajouter un caractère aléatoire à $mdp jusqu'à ce que $longueur soit atteint
while ($i < $longueur) {
// prendre un caractère aléatoire
$caractere = substr($possible, mt_rand(0, $longueurMax-1), 1);
// vérifier si le caractère est déjà utilisé dans $mdp
if (!strstr($mdp, $caractere)) {
// Si non, ajouter le caractère à $mdp et augmenter le compteur
$mdp .= $caractere;
$i++;
}
}
// retourner le résultat final
return $mdp;
}
?>
Où est le problème ? Est-ce que c'est le fait d'avoir la modification de la base de données et le générateur sur la même page qui pose un problème ?
Cordialement,
lizeal
Modifié par lizeal (10 Feb 2014 - 16:43)