Archiv für Juni 2010
PHP :: Sessions ($_SESSION)
Die Sessions unter PHP (zu Deutsch: Sitzungen) sind eindeutige Identifikations-Schlüssel.
Wenn ein Benutzer auf einer Webseite einloggt, so werden seine Logindaten mit den in der Datenbank gespeicherten Daten abgeglichen. Sind die Daten stimmig, so wird dem Benutzer zum Beispiel seine Profilseite angezeigt. Doch wenn dieser nun einen Klick auf irgendeinen Link macht, wäre er wieder ausgeloggt. Das liegt daran, dass PHP eigentlich nicht weiß, dass der Nutzer sich zuvor eingeloggt hatte.
Natürlich könnte man während des Logins die aktuelle IP-Adresse des Nutzers in der Datenbank hinterlegen und bei jedem Seitenaufruf einfach prüfen, ob der Nutzer die gleiche IP-Adresse hat, aber in einem Internet-Kaffee wäre zum Beispiel jeder Sitzplatz plötzlich eingeloggt, da alle die selbe IP-Adresse verwenden.
Es ist also besser jedem Nutzer eine Sitzungs-ID zu verpassen, diese wird von seinem Browser automatisch mit an PHP übergeben und man kann somit auch mehrere verschiedene Nutzer unter ein und der selben IP-Adresse managen. Zudem haben Session’s den Vorteil, dass man zeitgleich Daten übergeben kann, etwa den Benutzernamen oder auch die Gültigkeitsdauer.
Wie erstellt man eine Sitzung?
Das erstellen einer Sitzung ist ganz einfach:
<?php
session_start();
?>
Nun kann man auch Daten in die Sitzung hineinschreiben:
<?php
session_start();
$_SESSION['benutzername'] = "Max Mustermann";
?>
Nach einem klick des Benutzers auf irgendeinen internen Link auf der Webseite, können die Daten wieder gelesen werden:
<?php
session_start();
echo $_SESSION['benutzername'];
?>
Um den Wert wieder aus der Session zu entfernen:
<?php
session_start();
unset($_SESSION['benutzername']);
?>
Man kann allerdings auch (bei Logout zum Beispiel) die ganze Session (Sitzung) zerstören:
<?php
session_destroy();
?>
Tipp: Wenn man die Session-ID abfragen möchte, also um sie etwa in die Datenbank zu speichern, so geht das mit:
<?php
session_start();
$sid = session_id(); // Die Session-ID wird nun in die Variable $sid geschrieben..
?>
Weitere Informationen zu Cookies, Sessions, ID’s oder zu Login-Scripten findet ihr Links in der Kategorie “PHP”.

Senden...