Sponsor-Board.de
Thema geschlossen  Thema schreiben 
 Seiten (2): « Erste 1 2 Nächste > Letzte »

PHP Random Frage

Verfasser Nachricht

Beiträge: 1.385
Bewertung: 48
Registriert seit: Dec 2011
Status: offline


Beitrag: #1
PHP Random Frage

Moin,

ich sitze gerade an einem winzigen Script (nein, kein Passwortgenerator, auch wenn man das denken könnte ^^) und nutze da zur Generierung von bestimmten Strings folgende Funktion:

PHP-Code:
function random($length)
{
    
$random_string "";
    
$valid_chars "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

    
$num_valid_chars strlen($valid_chars);

    for (
$i 0$i $length$i++)
    {
        
$random_pick rand(1$num_valid_chars);
        
$random_char $valid_chars[$random_pick-1];
        
$random_string .= $random_char;
    }
    return 
$random_string;


Diese wird dann in einer for-Schleife aufgerufen, aber da kommt immer der gleiche String raus. Woran liegt das? Ich habe bisher nicht wirklich tiefgründig mit Zufallszahlen in PHP gearbeitet, daher habe ich leider keinen richtigen Ansatz.

Danke!

Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2014 20:29 von Dream-Code.

06.06.2014 20:28
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status: offline


Beitrag: #2
RE: PHP Random Frage

Du musst mit [Link: Registrierung erforderlich] einen seed setzen um bessere Zufalszahlen zu bekommen. Gleicher Seed -> gleiches ergebnis.


PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4

06.06.2014 20:34
 
Alle Beiträge dieses Benutzers finden

Beiträge: 1.385
Bewertung: 48
Registriert seit: Dec 2011
Status: offline


Beitrag: #3
RE: PHP Random Frage

Hmm, so in der Art dachte ich mir das, in Java setzt man auch immer erst nen Seed nur ich hatte die Option in PHP nicht gefunden. Gibt es sowas wie "System.currentTimeMillis()" in PHP auch, also etwas, was die aktuelle Systemzeit in Millisekunden als Rückgabe hat? Das wäre doch ein guter Seed Biggrin

06.06.2014 20:43
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status: offline


Beitrag: #4
RE: PHP Random Frage

microtime


PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4

06.06.2014 20:45
 
Alle Beiträge dieses Benutzers finden

Beiträge: 433
Bewertung: 6
Registriert seit: Mar 2011
Status: offline


Beitrag: #5
RE: PHP Random Frage

Sowas musste ich auch mit php machen und kann dir das vlt geben

Mein Script generiert aber ein Passwort und du kannst aussuchen wieviele zeichen es haben soll, habe es mit Switches geschrieben

switch(Variable) <-- Wird abgefragt
case: Wert von Variable;
Auszuführende Aktion/en
break;

ist viele zeilen lang aber funktioniert


War der Beitrag hilfreich? Dann kann ein einfacher Klick auf den Danke-button ja wohl nicht schaden. Biggrin

06.06.2014 21:05
 
Alle Beiträge dieses Benutzers finden

Beiträge: 1.385
Bewertung: 48
Registriert seit: Dec 2011
Status: offline


Beitrag: #6
RE: PHP Random Frage

Das bringt mich ja in dem Zusammenhang nicht wirklich weiter. Ich habe jetzt in der Funktion oben folgende Zeile eingefügt:

Code:
srand(microtime(TRUE));


Leider kommen trotzdem immer die gleichen Strings raus. Ideen?

06.06.2014 21:09
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status: offline


Beitrag: #7
RE: PHP Random Frage

Dream-Code schrieb:
Leider kommen trotzdem immer die gleichen Strings raus. Ideen?


Über mehrere Seitenaufrufe hinweg? Den seed darfst du nur einmalig setzen, nicht jedesmal wieder, wenn du nämlich dann wieder den gleichen seed setzt bekommst du auch wieder das gleiche ergebnis.


PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4

06.06.2014 21:17
 
Alle Beiträge dieses Benutzers finden

Beiträge: 1.385
Bewertung: 48
Registriert seit: Dec 2011
Status: offline


Beitrag: #8
RE: PHP Random Frage

Naja, da die Funktion ja logischerweise (durch Rechenzeit) mit einigen Millisekunden Abstand aufgerufen wird, dürfte der Seed ja jedes Mal anders sein. Es handelt sich an sich immer nur um einen Seitenaufruf, bei dem aber diese Funktion mehrmals hintereinander in einer Schleife genutzt wird.

06.06.2014 21:23
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status: offline


Beitrag: #9
RE: PHP Random Frage

Dream-Code schrieb:
Naja, da die Funktion ja logischerweise (durch Rechenzeit) mit einigen Millisekunden Abstand aufgerufen wird, dürfte der Seed ja jedes Mal anders sein.


Vertue dich da mal nicht, ne Millisekunde ist ne ganze Menge.

[Link: Registrierung erforderlich]
Schau dir mal die Kommentare an, dort sind einige gute Beispiele.


PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4

06.06.2014 21:30
 
Alle Beiträge dieses Benutzers finden

Beiträge: 1.385
Bewertung: 48
Registriert seit: Dec 2011
Status: offline


Beitrag: #10
RE: PHP Random Frage

Moin,

egal welches der Beispiele ich teste, es will nicht funktionieren. Da der Code an sich nicht unbedingt Public sein soll, werde ich dir tkausl wenn das in Ordnung ist einfach mal eine PN schreiben mit dem kompletten Code, vielleicht kannst du mir ja helfen. Scheinst immerhin Ahnung von PHP zu haben im Gegensatz zu mir ;D

06.06.2014 21:37
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Thema geschlossen  Thema schreiben 
 Seiten (2): « Erste 1 2 Nächste > Letzte »

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Frage Script Website HardwareNow 3 2.188 16.02.2018 12:32
Letzter Beitrag: vitalizing-τέχνη
  PhP / HTML Frage Bildergalerie? HardwareNow 4 2.197 27.07.2017 13:14
Letzter Beitrag: GYJohn
  Frage TextFeld HTML ? HardwareNow 1 1.903 06.12.2016 12:46
Letzter Beitrag: Muetzus
  Bash Script Frage ? HardwareNow 1 1.795 13.09.2016 11:33
Letzter Beitrag: NetFreak
  Template Frage HardwareNow 4 1.707 27.05.2016 18:07
Letzter Beitrag: HardwareNow

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren