Hallo,
Ich erklärs nur für Temp.Cookies=on, weil ich andere Sessions (mit Ausnahme selbstgebauter mit Auth) für blödsinn halte:
Die Session wird beendet, indem man ihr den Cookie klaut. Das kann man einfach durch
session_start(); // Session initialisieren mit Hilfe von $_COOKIE["PHPSESSID"]
session_destroy(); // Sessiondatei löschen
setcookie("PHPSESSID"); // Cookie auf dem Client vernichten
beide Sessionfunktionen greifen auf den Cookie mit dem Sessionnamen im Array $_COOKIE[] zu.
Wenn man den Cookie auf dem Client nicht ebenfalls vernichtet, ist der in $_COOKIE["PHPSESSID"] beim nächsten Request wieder da und es wird, mangels vorhandener Sessiondatei eine neue Sessiondatei unter der alten Nummer angelegt.
Daher beendet man eine Session keinesfalls alleine durch session_destroy().
Es reicht im Prinzip, einen leeren Cookie an den Client zu senden. Die letzten Sessiondaten bleiben dann aber solange erhalten, bis der Garbage Collector sie beseitigt hat.
Liebe Grüße aus http://www.braunschweig.de
Tom
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.