Supprimer les caractères d'une chaine
Posté : 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
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 :Code : Tout sélectionner
LOGIN : jchirac
PASS : ja7/cqty