par
HanX » 21 juin 2006, 14:26
Voilà je suis en train de générer des login/pass. Le code est nickel, sauf que lorsque je génère certains pass, ça me sort des caractères de ponctuation

Je veux que des lettres (maj ou min je m'en fous) et des chiffres
J'ai regardé la doc de preg_replace() mais j'ai rien compris
<?
include 'connexion.php';
$prenom='Jacques';
$nom='Chirac';
$login=gen_login($prenom,$nom);
$pass=gen_pass($login,$prenom);
///*************************************************
function gen_login($prenom,$nom) {
$login=substr($prenom, 0, 1);
$pos = strpos($nom,'-');
if ($pos)
{ $nom=substr($nom,0,$pos); }
$login.=$nom;
$login=strtolower($login);
$ok=false;
while(!$ok)
{
if(veriflogin($login))
{ $ok=true; }
else
{
$i++;
$login.=$i;
}
}
echo 'LOGIN : '.$login.'<br>';
return $login;
}
function gen_pass($login,$prenom) {
$pass=strtolower(crypt($login,$prenom));
if(strlen($pass)>8)
{ $pass=substr($pass, 0, 8);}
echo 'PASS : '.$pass.'<br>';
return $pass;
}
//*******************************************//
function veriflogin($login) {
$sql="select login from partenaires where login='".$login."'";
$res=mysql_query($sql);
if (mysql_num_rows($res)>0)
{ return false; }
$sql="select login from candidats where login='".$login."'";
$res=mysql_query($sql);
if (mysql_num_rows($res)>0)
{ return false; }
return true;
}
?>
Dans le cas, jacques chirac (vive le jeu d'essai, non ?) ça m'affiche :
Voilà je suis en train de générer des login/pass. Le code est nickel, sauf que lorsque je génère certains pass, ça me sort des caractères de ponctuation :oops: Je veux que des lettres (maj ou min je m'en fous) et des chiffres
J'ai regardé la doc de preg_replace() mais j'ai rien compris :?
[php]<?
include 'connexion.php';
$prenom='Jacques';
$nom='Chirac';
$login=gen_login($prenom,$nom);
$pass=gen_pass($login,$prenom);
///*************************************************
function gen_login($prenom,$nom) {
$login=substr($prenom, 0, 1);
$pos = strpos($nom,'-');
if ($pos)
{ $nom=substr($nom,0,$pos); }
$login.=$nom;
$login=strtolower($login);
$ok=false;
while(!$ok)
{
if(veriflogin($login))
{ $ok=true; }
else
{
$i++;
$login.=$i;
}
}
echo 'LOGIN : '.$login.'<br>';
return $login;
}
function gen_pass($login,$prenom) {
$pass=strtolower(crypt($login,$prenom));
if(strlen($pass)>8)
{ $pass=substr($pass, 0, 8);}
echo 'PASS : '.$pass.'<br>';
return $pass;
}
//*******************************************//
function veriflogin($login) {
$sql="select login from partenaires where login='".$login."'";
$res=mysql_query($sql);
if (mysql_num_rows($res)>0)
{ return false; }
$sql="select login from candidats where login='".$login."'";
$res=mysql_query($sql);
if (mysql_num_rows($res)>0)
{ return false; }
return true;
}
?> [/php]
Dans le cas, jacques chirac (vive le jeu d'essai, non ?) ça m'affiche :
[code]LOGIN : jchirac
PASS : ja7/cqty[/code]