Hi,
Gut gewählte Funktionsnamen erleichtern spätere Arbeit ungemein. Glaub's uns, wir haben auch aus unseren Fehlern lernen müssen ;-)
ey das ist doch der passendste funktionsname den es gibt - ich finde mit zufall() eine zufallszahl/id und nix anderes!
Dann nenn die Funktion doch make_id()? Es wird etwas hersgetsellt "make" und es ist eine ID, die hergestellt wird "id", zusammenfügen dann mit "_". Das ist eine leicht merkbare Logik, die spätere Suche erleichtert.
Dann mußt Du den Funktionsaufruf eben anders gestalten. Noch ein Problem damit: hier "if ($lid == $id) zufall();" ist ein rekursiver Aufruf. Wegen der globalen Variablen ist diese Funktion aber nicht reentrant.
verstehe ich nicht - also "reentrant" und somit auch den satz nich ganz.
Eine reentrante Funktion ist, stark verallgemeinert, eine Funktion, die sich jederzeit von jeder beliebigen Stelle aus aufrufen läßt unter anderem auch von sich selbst aus (rekursiv). Das funktioniert aber auf keinen Fall mit globalen Variablen.
ich hasse funktionen, dafür das es dieses global gibt, gibt es denn keinen weg?
Du muß lokale Variablen nehmen oder die Speicherstellen beim Aufruf der Funktion mitgeben.
es hat manchmal vorteile das man innerhalb funktionen variablen nutzen kann und ausserhalb keine variable überschrieben wird, aber genau das will ich nicht, ich will das sie überschrieben werden und das erreiche ich nur mit global $var;
Dann gib sie der Funktion doch einfach mit!
<?PHP
$DIES_IST_EINE_GLOBALE_VARIABLE = 1234;
$EINE_ZWEITE = 5678;
function print_global_var($glob_var,$zweite){
if($zweite == 5678){
$glob_var++;
print_global_var($glob_var,$zweite);
}
echo $glob_var;
}
print_global_var($DIES_IST_EINE_GLOBALE_VARIABLE, $EINE_ZWEITE);
?>
Warum nimmst Du eigentlich nicht die von PHP angebotenen hauseigenen SessionIDs?
für was denn?
Wenn ich das richtig sehe, brauchst Du eindeutige IDs, die liefern Dir SessionIDs bzw Du kannst sie Dir mit MD5Sum leicht selber herstellen.
Warum Du SessionIDs von Hand kontrollieren mußt entzieht sich meinem Verständnis.
so short
Christoph Zurnieden