Pourquoi ca marche pas ?

Eléphant du PHP | 87 Messages

14 oct. 2010, 19:54

Pourquoi ca marche pas ?
<?php
$alphabet = "abcdefghjkmnopqrstuvwxyz";
$alphabet .="ABCDEFGHJKLMNOPQRSTUVWXYZ";
$alphabet .="123456789";
$nbcar = 11; $i = 0;$motdepasse = "";
srand((double)microtime()*1000000);
while ($i<$nbcar)
{
$valcar = rand(0, strlen($alphabet) );
$motdepasse .= substr("$alphabet",$valcar,1);
$si++;
}
?>
Boucle censée généré un mot de passe.

ViPHP
xTG
ViPHP | 7331 Messages

14 oct. 2010, 20:21

<?php
$alphabet = "abcdefghjkmnopqrstuvwxyz";
$alphabet .="ABCDEFGHJKLMNOPQRSTUVWXYZ";
$alphabet .="123456789";
$nbcar = 11; $i = 0;$motdepasse = "";
srand((double)microtime()*1000000);
while ($i<$nbcar)
{
$valcar = rand(0, strlen($alphabet) );
$motdepasse .= substr("$alphabet",$valcar,1);
$i++;
}
?>
La variable dans la condition de la boucle devrait être $i et non $si. (au niveau de l'incrémentation)

Eléphant du PHP | 87 Messages

14 oct. 2010, 20:22

ah oui merci, j'ai pas les yeux en face des trous

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 00:18

si tu veux pas t'embêter utilise uniqid

Eléphant du PHP | 87 Messages

15 oct. 2010, 06:58

Merci pour uniqid sûr que je l'utiliserais sur mon sit. mais il s'agissait d'un exo dans un bouquin pour mettre en pratique une boucle while.