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.
Beginn einer Session Bearbeiten
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();
?>
Variablen belegen Bearbeiten
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';
?>
Variablen abrufen Bearbeiten
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
Sessionvariablen löschen Bearbeiten
Die Werte, die in der Session gespeichert sind, können auf verschiedene Arten gelöscht werden.
Löschen der ganzen Session mittels session_destroy(); Bearbeiten
<?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.
Löschen einzelner Variablen mittels unset(); Bearbeiten
<?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']);
?>