Sitzungen in PHP
Wenn wir eine Webseite in unserem Browser sehen, hat das PHP-Skript dieser Seite längst gearbeitet und uns vergessen. Wenn wir also von einer Seite der Website zu einer anderen wechseln - kann das PHP-Skript sich nicht an die Daten von der vorherigen Seite erinnern, zum Beispiel die Werte von Variablen.
Ein solcher Mechanismus ist jedoch sehr nötig, schon um die Auswahl des Benutzers zu speichern oder dass der Benutzer autorisiert war.
In PHP sind für die Speicherung von Benutzerdaten zwischen den Seiten einer Website Sitzungen vorgesehen. Wir können beliebige Informationen in eine Sitzung schreiben und sie beim nächsten Aufruf dieses oder eines anderen Skripts der Website von dort lesen. Mit Hilfe von Sitzungen kann die Autorisierung von Benutzern, der Warenkorb eines Online-Shops und anderes realisiert werden.
Die Sitzung des Benutzers wird auf dem Server gespeichert. Dabei lebt sie nicht ewig, sondern nur etwa eine halbe Stunde - wenn der Benutzer in dieser Zeit keine Anfragen an die Website gestellt hat, dann wird seine Sitzung gelöscht und leer.
Schauen wir uns also an, wie man
mit Sitzungen in PHP arbeitet.
Um etwas in eine Sitzung zu schreiben, muss diese zuerst
initialisiert werden, und zwar mit der Funktion
session_start:
<?php
session_start();
?>
Nach der Initialisierung können wir etwas
in die Sitzung schreiben oder etwas daraus lesen.
Dies geschieht mit Hilfe des Superglobal-Arrays
$_SESSION.
Probieren wir es praktisch aus. Wir erstellen eine Datei
test1.php und platzieren darin den folgenden Code:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // in Sitzung schreiben
?>
Und in der Datei test2.php - den folgenden Code:
<?php
session_start();
echo $_SESSION['test']; // aus Sitzung lesen
?>
Öffnen Sie nun zuerst im Browser die Datei
test1.php und dann test2.php.
Beim Öffnen der zweiten Datei im Browser wird das ausgegeben,
was in der ersten Datei in die Sitzung geschrieben wurde.
Erstellen Sie zwei Dateien. Beim Aufruf der ersten Datei sollen zwei Zahlen in die Sitzung geschrieben werden, und beim Aufruf der zweiten Datei - die Summe dieser Zahlen auf dem Bildschirm ausgegeben werden.