Websiteentwicklung: PHP: Sessions

Aus Wikibooks

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']);
?>


Weiterführende Weblinks[Bearbeiten]