Jan
24
2010
PHP – Sessions
Author: Lukas SchauerIn diesem Tutorial will ich euch zeigen wie ihr in PHP mit Sessions umgeht.
Zuerst einmal: Was sind Sessions überhaupt ?
Sessions sind (frei übersetzt) Sitzungen. Das heisst man kann die Benuzer voneinander unterscheiden. Jeder Benutzer bekommt eine Session-ID die solange hält bis er den Browser schliesst oder die Sitzung auf dem Server ausläuft, das dauert jedoch eine ganze Weile und die Sitzung wird bei jedem Aufruf aktualisiert wobei das “Timeout” nach hinten verschoben wird. PHP wertet die Session-IDs automatisch aus und gibt uns eine neue “Globale” Variable die den stolzen Namen $_SESSION (Array) trägt.
Um eine Session zu starten muss man vor jeglicher Ausgabe in der PHP-Datei den Befehl “session_start()” verwenden. Ab dem Moment wird die $_SESSION Variable geöffnet. Man kann jetzt mit dieser Variable umgehen wie mit jedem anderen Array auch. Sinnvoll ist es z.B. Benutzername und/oder Passwort in dieser Variable zu hinterlassen so das man sich nach einem Login frei auf der Seite bewegen kann.
Sessions werden in so ziemlich allen Web-Anwendungen (darunter auch WordPress, b2evo, Drupal usw..) verwendet. Meist wird eine Kombination von Cookies und Sessions verwendet wobei die Cookies einen dauerhaften Login verwirklichen können und die Sessions nur für das aktuelle zuständig sind.
Zum Abschluss noch ein kleines Beispiel bei dem ein sehr sehr simpler Login verwirklicht wird:
<?php
session_start();
if($_GET[passwort]==”hackme”){
$_SESSION[logged_in]=1;
}
if($_SESSION[logged_in]==1){
echo “Hallo User”;
}else{
echo “Log dich bitte ein, Danke”;
}
?>
Zuerst wird man nur “Log dich bitte ein, Danke” sehen aber sobald man das Passwort “hackme” einmal übergeben hat erscheint solange bis die Sitzung ausläuft “Hallo User”.