|
Sessions werden verwendet, um Daten bzw. Variableninhalte über mehrere Seiten hinweg zu behalten, ohne sie per _POST oder _GET übermitteln zu müssen. Ein Beispiel dafür ist ein Loginsystem. In vielen PHP Tutorials zu diesem Thema, wird ein ein Wert (z.B. die Benutzer ID) in der Session gespeichert. Dadurch kann man den User auch als solchen identifizieren und dem System ist z.B. bekannt, dass der Anwender eine bestimmte Seite betrachten darf (Stichwort: Zugriffsrechte). Aber wie funktioniert das Ganze nun? Nun, zunächst muss eine Session gestartet werden. Dazu verwendet man die Funktion session_start(). Der Aufruf dieser Funktion bewirkt, dass PHP-intern eine Identifikationsnummer für die Session – die sog. Session ID – erzeugt wird. Danach wird auf dem Server eine Datei mit dem Namen dieser Nummer erstellt. In dieser Datei wiederum werden dann die Daten serialisiert gespeichert. Das bedeutet nichts weiter, als dass die Datenstruktur (z.B. bei Arrays) erhalten bleibt. Da der Benutzer dem System irgendwie mitteilen muss, dass genau ihm diese Session gehört, wird, wenn möglich, ein Cookie mit der Session ID im Browser des Anwenders gesetzt. Der Vollständigkeit halber möchte ich noch erwähnen, dass es sich bei dem oben genannten Prozess nur um eine kurze Skizze des Standardverfahrens zur Sessionerstellung in PHP handelt. Können z.B. keine Cookies beim Client gesetzt werden, muss die Session ID über _GET oder _POST Methoden weitergegeben werden, oder statt Dateien anzulegen kann auch eine Datenbank zum Speichern der Sessiondaten verwendet werden. |