Tach!
Dazu braucht es doch keine neue Session. Es reicht, wenn du in der alten Session das "(un)angemeldet" merkst.
Halte ich nicht für ausreichend.
Klar, beim nächsten Seitenaufruf wird ggf. ein neuer Login fällig – aber wenn dann dort die Session auch nicht aufgeräumt wird, kann da noch sonstwas benutzerspezifisches drin liegen.
Wer seine nicht mehr benötigten Daten nicht aufräumt, muss sich nicht wundern, wenn er später wieder drüberstolpert. Ob das Aufräumen nun session_destroy() oder $_SESSION=array() oder unset($_SESSION[daten]) oder sonstwie erfolgt, ist dabei egal.
Eine Session hat nicht direkt was mit angemeldet/abgemeldet zu tun, sondern dient lediglich ganz allgemein zur Client-Wiedererkennung und Speicherung von Daten.
Wenn man rein die HTTP-Ebene betrachtet, vielleicht.
Aber in jedem mir bekannten gängigen Web-Authentifizierungssystem wird eine Session als logisch mit einem Benutzer, nicht mit einem Client, zusammengehörig betrachtet.
Achwas. Man kann Sessions auch zum Datenablegen verwenden, ohne dass ein Nutzername existieren muss. Die Session wird erst dann von client- zu nutzerspezifisch erweitert, wenn ein Nutzeranmeldung erfolgt. Als Shop-Besucher möchte ich aber auch ohne Anmeldung bereits meinen Warenkorb füllen können. Das geht dann nur client-spezifisch.
Du musst die Session nicht unbedingt zerstören, PHP räumt sie sowieso selbst weg. $_SESSION = array() oder unset($_SESSION[was_bestimmtes]) täte es auch, um die Daten zu löschen.
Das ist aber schon mehr als das vorherige ausschließliche „merken von Status unangemeldet“.
Versteh ich nicht, was du damit meinst. Siehst du ein Problem darin, wenn man zusätzlich zum Ändern des Anmeldestatus auch noch nicht mehr benötigte Daten löscht?
dedlfix.