Moin!
Es gibt eine _Konstante_ namens SID, die den an den Link anhängbaren String enthält, oder leer ist.
Die Konstante ist immer dann vorhanden, wenn eine Session besteht. Sie ist gefüllt, wenn die bestehende Session im selben Script begründet wurde (erstmals benutzt) und sie ist leer, wenn die Session nur fortgesetzt (wieder aufgenommen) wurde.
Nein. Die Konstante ist dann LEER, wenn session_start() ein gesetztes Session-Cookie feststellen konnte.
Niemand wird davon abgehalten, manuell ein Cookie zu manipulieren und schon beim ersten Seitenaufruf SID leer zu haben. Niemand wird davon abgehalten, das Cookie zu verweigern und damit SID immer gefüllt zu haben.
Der Tatbestand "hat Session-Cookie angenommen" kann, anstatt den Inhalt von SID zu prüfen, genausogut am Vorhandensein von $_COOKIE[session_name()] abgelesen werden.
if (!isset($_COOKIE[session_name()]))
{
define("SID",session_name()."=".session_id());
}
else
{
define("SID","");
}Das darf man aber so nicht benutzen. Dann gibts einen redefie-Error. Als Vorstellungsmodell, wie da mit SID funktioniert, aber brauchbar.
Deshalb schrieb ich ja auch:
"Für die Bildung von SID könnte man folgenden Ersatzcode annehmen, der innerhalb von session_start() zum Einsatz kommt:"
Bemerke die Verwendung der Worte "Ersatzcode" und "innerhalb von session_start()".
- 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>)