Grundlegende AnwendungSessions bieten eine einfache Möglichkeit, Daten für individuelle Benutzer unter einer eindeutigen Session-ID zu speichern. Sie können verwendet werden, damit Daten zwischen Seitenanforderungen bestehen bleiben. Session-IDs werden in der Regel über Session-Cookies an den Browser gesendet und die ID wird verwendet, um vorhandene Sessiondaten abzurufen. Das Fehlen einer ID oder eines Session-Cookies veranlasst PHP, eine neue Session zu erstellen und eine neue Session-ID zu erzeugen. Sessions folgen einem einfachen Ablauf. Wenn eine Session gestartet wird, ruft PHP entweder eine vorhandene Session unter Verwendung einer (normalerweise von einem Session-Cookie) übergebenen ID ab oder erzeugt eine neue Session, falls keine Session-ID übergeben wurde. Nachdem die Session gestartet wurde, füllt PHP die $_SESSION-Superglobale mit allen Sessiondaten. Am Ende des Skripts nimmt PHP automatisch den Inhalt der $_SESSION-Superglobalen, serialisiert ihn und verwendet Session-Speicherfunktion um ihn zu speichern.
Standardmäßig verwendet PHP die interne
Sessions können über die Funktion session_start
gestartet werden. Falls die Konfigurationsanweisung session.auto_start auf
Sessions werden normalerweise automatisch geschlossen, wenn PHP am Ende eines Skripts ist, können aber über session_write_close auch manuell geschlossen werden.
Beispiel #1 Registrierung einer Variablen mit $_SESSION.
<?phpBeispiel #2 Aufheben der Registrierung einer Variablen mit $_SESSION.
<?php
Achtung
Heben Sie NICHT die Registrierung der gesamten $_SESSION mit unset($_SESSION) auf, weil dies die Registrierung von Variablen durch die Superglobale $_SESSION deaktivieren würde. Warnung
Sie können in Session-Variablen keine Referenzen verwenden, weil es keine praktikable Möglichkeit gibt, eine Referenz in eine andere Variable zurückzuführen. Warnung
register_globals überschreibt im globalen Namensraum Variablen, deren Namen mit denen von Sessionvariablen übereinstimmen. Für Details siehe Verwendung von Register Globals.
|