Websiteentwicklung: PHP: Sessions
Sessionvariablen werden benutzt, um Werte übergeordnet zu speichern. Das heißt, wenn ich zum Beispiel einen Userbereich erstelle, kann ich die Daten meines Users auf jeder Seite wieder abrufen. So können Variablen ohne ein Formular „übergeben“ werden.
Inhaltsverzeichnis |
[Bearbeiten] Beginn einer Session
Vor jeder PHP-Datei in der die Sessionvariablen verwendet werden sollen, ist es nötig die Session zu starten. Dies muss vor jeglichen anderen Ausgaben geschehen, da sonst keine Cookies gesetzt werden können. Sollte ein User im selben Browser auf einer anderen Seite surfen und dann wieder zurückkommen, so ist die Session noch vorhanden. Sessions werden nach einer bestimmten Zeitspanne (einstellbar in der PHP.ini: session.gc_maxlifetime) durch den Garbage-collector entsorgt.
<?php //starten der Session session_start(); ?>
[Bearbeiten] Variablen belegen
Die Variablen können genau wie jede andere normale Variable belegt werden. Sie werden mit $_SESSION['beliebiger Name'] benannt.
<?php //starten der Session session_start(); //belegen einer Variablen $_SESSION['USER_ID'] = 'Wikimeister'; ?>
[Bearbeiten] Variablen abrufen
Mit dem Namen $_SESSION['beliebiger Name'] lässt sich die Variable jederzeit abrufen sofern die Session gesetzt ist und der Browser nicht geschlossen wurde.
<?php //starten der Session session_start(); //belegen einer Variablen $_SESSION['USER_ID'] = 'Wikimeister'; //abrufen einer Variablen echo $_SESSION['USER_ID']; ?>
Ausgabe: Wikimeister
[Bearbeiten] Sessionvariablen löschen
Die Werte, die in der Session gespeichert sind, können auf verschiedene Arten gelöscht werden.
[Bearbeiten] Löschen der ganzen Session mittels session_destroy();
<?php //starten der Session session_start(); //belegen einer Variablen $_SESSION['USER_ID'] = 'Wikimeister'; //abrufen einer Variablen echo $_SESSION['USER_ID']; //loeschen der session session_destroy(); ?>
Anmerkung: Hier werden alle Variablen in der Session bzw. die Session selbst gelöscht.
[Bearbeiten] Löschen einzelner Variablen mittels unset();
<?php //starten der Session session_start(); //belegen einer Variablen $_SESSION['USER_ID'] = 'Wikimeister'; //abrufen einer Variablen echo $_SESSION['USER_ID']; //löschen der Variablen unset($_SESSION['USER_ID']); ?>