PHP und Sessions

Sessions sind eine exzellente Möglichkeit um Daten über mehrere Webseiten hinweg zu Erfassen. PHP hat nämlich generell das Problem, das in Variablen gehaltene Werte nur für die Anzeigedauer einer Webseite anhalten, danach - also mit dem Aufrufen einer anderen Seite - sind sie definitiv verloren.
Wie funktionieren Sessions?
Sessions werden in PHP dauerhaft als Dateien abgelegt. Diese Dateien haben einen bestimmten Namen (meist ein zufällig erzeugter Zeichenstrang aus 32 Buchstaben und Zahlen). Anhand dieses Namens können Sie einem User zugeordnet werden.
Wie funktioniert das mit der Identifikation?
![]()
PHP kennt die eine oder andere Möglichkeit, Sessions wiederzufinden.
$_GET
In einer URL lassen sich mit dem "?" Paramter anhängen und duch das Ampersand (&) verbinden. Das macht sich PHP dabei zu Nutze, wenn es an die Sessionidentifikation geht. Dabei wird durch eine Konfigurationseinstellung automatisch bewirkt, dass die Session ID als GET Paramter übergeben wird.
HTML Formulare: type hidden
In HTML Formularen kann man input-Felder definieren. Diese können den Type "hidden" tragen und sind somit nicht erkennbar für den normalen User. Diese Felder werden bei der Datenübetragung aber trotzdem berücksichtigt und eignen sich somit fantastisch zum Übermitteln der Session ID.
"Plätzchen"
Mit Cookies können gleichfalls Daten über mehrere Webseiten hinweg gespeichert werden. Jedoch liegt die Cookiedatei dabei im Webbrowser des Users und nicht länger auf dem Webserver. In dem Cookie wird also einfach die Session ID der PHP Session gespeichert.
PHP Sessions in praxi
Eine PHP Loginsystem ist ein Beispiel für ein Einsatzgebiet von Sessions in PHP. Dabei werden die Userdaten dauerhaft gespeichert, so dass im Zutritt zu unterschiedlichen Bereiche einer Onlinepräsenz gewährt werden kann.
Jeder Webshop benutzt mit großer Sicherheit Sessions. Bei xt Commerce Systemen sind es halt PHP Sessions. Damit meine ich nicht die Userverwaltung aka. das Loginsystem sondern die Einkaufswagenfunktion, die garantiert ebenfalls auf Sessions basiert.
PHP Sessions bieten sich aber auch bei mehrseitigen Formularen an. Als Musterbeispiel seien hier Umfragen genannt, die sich über mehrere Seiten erstrecken. Ohne Sessions könnte so was nur sehr umständlich realisiert werden.
Durch PHP Sessions werden in aller Regel sogenannte Affenformulare realisiert. Bei diesen Formularen geht es darum, dass die eingegebenen Informationen fortbestehen, wenn das Formular abgeschickt wird aber eine Eingabe nicht ganz korrekt war.
Mehr zu Sessions
Es gibt viele sehr gute englische Quellen über Sessions in PHP. Eine der wenigen deutschsprachigen Ressourcen bietet MyWebsolution.de an. Diese Homepage hat sich dem Thema PHP lernen verschrieben und nennt einen sehr ins Einzelne gehenden Workshop über PHP Sessions sein eigen.