Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zufallsgenerator Funktion

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php10
    hat ein Thema erstellt [Erledigt] Zufallsgenerator Funktion.

    [Erledigt] Zufallsgenerator Funktion

    Hallo,
    die folgende Funktion habe ich aus diesem Forum hier kopiert.
    Bei fast jedem mal wenn ich sie ausführe bekomme ich einen PHP Error: Uninitialized string ofset: 62 in ...
    Hier die Funktion:
    PHP-Code:
    function GenerateString($length 7) { 
    //Funktion zur Generierung eines zufälligen Passworts 

    $char_control  ""
    $chars_for_pw  "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    $chars_for_pw .= "0123456789"

    $chars_for_pw .= "abcdefghijklmnopqrstuvwxyz"
    srand((double) microtime() * 1000000); 
    for(
    $i=0;$i<$length;$i++) { 
    $number rand(0strlen($chars_for_pw)); 
    $char_control .= $chars_for_pw[$number]; 

                 
    return 
    $char_control


    auf dieser Zeile tritt der Fehler auf: $char_control .= $chars_for_pw[$number];

    Ich hoffe es kann mir jemand sagen woran das liegt und wie ich das wegbekomme
    MfG php10

  • php10
    antwortet
    super, es klappt
    danke!

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Ja richtig.

    Einen Kommentar schreiben:


  • php10
    antwortet
    also er nimmt manchmal die 62, rand fängt bei 0 an und hört bei dem wert von strlen auf der immer 62 ergibt, weil 0 bei strlen gleich leer bedeutet, also muss ich einfach strlen($var)-1 und dann hauts hin, die anfangswertbestimmung mit srand brauche ich dann auch nicht hast du geschrieben

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Ja, aber das erste Element in einem Array findest du nun mal unter dem Index 0. Folglich wirst du bei 62 Elementen (Buchstaben) keinen Buchstaben unter dem Index 62 vorfinden.

    Einen Kommentar schreiben:


  • php10
    antwortet
    Ich will aber keine Zahl oder keinen Buchstaben weg nehmen, es sind halt 62 Zeichen...

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von php10 Beitrag anzeigen
    danke erstmal, wie bekomme ich diese 1 zahl noch weg???
    Wenn dir nicht klar ist, wie man eine simple Subtraktionsoperation in PHP durchführt, dann fang bitte schleunigst an, dich über die Grundlagen zu informieren:
    http://www.php.de/php-einsteiger/489...nsammlung.html

    Einen Kommentar schreiben:


  • php10
    antwortet
    danke erstmal, wie bekomme ich diese 1 zahl noch weg???

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Das Problem liegt in dieser Zeile:
    Code:
    $number = rand(0, strlen($chars_for_pw));
    strlen() generiert dir eine um 1 zu große Zahl.

    [edit]
    Der Aufruf von srand() ist im Übrigen laut Manual überflüssig.

    Einen Kommentar schreiben:

Lädt...
X