Sven Rautenberg: Scope der Session Variable session_id()

Beitrag lesen

Moin!

Also ich hätte gerne wenn php die session id erzeugt.

Dann benutze nur session_start() zum Starten der Session, und gut ist. Die erzeugte Session-ID fragst du _danach_ mittels session_id() ab und verarbeitest sie nach Wunsch.

Ich hatte vorher mal eine Funktion geschrieben, die selbst eine erzeugt hat. Aber warum, wenn php das auch selber kann.

Richtig. Denn das wichtigste bei Session-IDs ist, dass sie zufällig generiert werden. Und da hat PHP eigentlich alles dabei, was genau dieses erledigt - das kann man mit PHP-Mitteln nicht wirklich besser machen. Natürlich: Wenn man einen _echten_ Zufallsgenerator hat, der beispielsweise atomaren Zerfall mißt, dann kann man damit die Session-IDs besser machen, aber wer hat sowas schon.

Also die session id wird eigentlich immer and ie url angehangen, das funktioniert alles so weit.

Wie jetzt: Funktioniert es, oder nicht?

Kurz und bündig:

Muss
session_id('einetolleID');

immer vor
session_start(); kommen?

Nein. Muß nie. Kann, wenn man es braucht. Du brauchst es nicht.

Wenn ich nun diese beiden Zeilen an den Anfang eines jeden Skripts schreibe. Muss ich dann in den FUnktionen der Klassen immer ein global davor setzen?

Nein. session_id() ist eine Funktion, die überall aufgerufen werden kann, und keine Variable, die man global machen könnte.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)