Zufallsgenerator

FingerSkill

Erfahrenes Mitglied
Gruessi,
ich habe folgenden Code mit dem kleinen Problem, er funktioniert nicht so wie ich mir das vorstelle.

PHP:
function get_randomcode($max)
{
  $newcode = '';
  for($i=0;$i <= $max;$i++)
  {
    $temp = rand(48,122);
	if($temp > '57')
	  if($temp < '97')
	    $i--;  
	else
	$newcode .= chr($temp);
  }
  return $newcode;
}

Und ich bin schon am verzweifeln da ich den Fehler nicht finde. Dieso Funktion sollte nichts anderes machen als einen Code, mit der laenge von $max, aus Ziffern und Kleinbuchstaben, zu erstellen.

Bitte um Hilfe ;)
Lg Finga
 
Ich hab mal was rausgesucht:
PHP:
  function generate_code()
   {
    $letters="abcdefhjkmnpqrstuvwxyz123456789";
    mt_srand((double)microtime()*1000000);
    $code='';
    for($i=0;$i<5;$i++)
     {
      $code.=substr($letters,mt_rand(0,strlen($letters)-1),1);
     }
    return $code;
   }

Ist schon uhralt :)
Ich hoffe, es funktioniert richtig, und hat dein Problem gelöst
Gruß Hallasas
 
Mein Vorschlag:
PHP:
function randString($length, $charset='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
	$retVal = '';
	$cardinality = strlen($charset);
	for ($i=0; $i<$length; $i++) {
		$retVal .= $charset{mt_rand()%$cardinality};
	}
	return $retVal;
}
Damit kann die zu verwendende Zeichenmenge beliebig angegeben werden.
 
Zurück