28. Login Teil 4 (Session)
Sobald eine Session gestartet wurde, können Webentwickler Daten in den Session-Speicher schreiben. Die Variable $_SESSION ist ein Array, in das beliebige Daten geschrieben werden können, einschließlich Strings, Zahlen, Arrays und Objekten (vergleichbar mit der Variablen $_POST).
Die folgende Abbildung beinhaltet ein paar Beispiele. Die Bezeichungen für die Array-Felder ('Wort', 'Ganzzahl', ...) sind frei wählbar.
Abbildung 28.1: Den Session-Speicher mit Daten füllen
Fügen Sie ebenfalls ein paar Session-Daten ein.
Öffnen Sie anschließend die Session-Datei des Unterverzeichnisses 'tmp'. Dort sollten die Daten abgespeichert worden sein.
Verwendung der Session für die Login-Anwendung
Gibt der User die korrekten Anmeldedaten ein, nutzen wir die Variable $_SESSION, um dieses Ereignis festzuhalten.
1. Session-Daten schreiben
Wir schreiben hierfür Daten in das Session-Array. Zum einen halten wir den Umstand fest, dass der Benutzer sich korrekt angemeldet hat und zum anderen wollen wir den Benutzernamen abspeichern (siehe untere Abbildung).
Abbildung 28.2: Session-Daten setzen
2. Session-Daten prüfen
Wir wechseln nun zur Datei welcome.php und ergänzen hier ganz oben in der Datei folgenden Code (siehe untere Abbildung).
Abbildung 28.3: Check, ob die Anmeldung gültig ist
Als erstes müssen wir mit der Funktion session_start() auf die aktuelle Session zugreifen (falls diese zuvor gestartet wurde). Hat sich der Benutzer nicht korrekt angemeldet, wurde das Feld 'logged_in' nicht auf true gesetzt. Es folgt die erzwungene Weiterleitung zurück zur Login-Seite.
Wurde das Feld 'logged_in' jedoch auf true gesetzt, verbleibt der User auf der Willkommens-Seite. Für eine etwas persönlichere Begrüßung geben wir in der Überschrift den Benutzernamen aus (s. untere Abbildung).
Abbildung 28.4: Ausgabe des Benutzernamens
3. Ausloggen - Die Session beenden
Wir wechseln nun zur Datei logout.php und ergänzen hier ganz oben in der Datei folgenden Code (siehe untere Abbildung).
Abbildung 28.5: Die Session löschen
Wir greifen zunächst wieder auf die aktuelle Session zu und leeren anschließend den Session-Speicher.
Abschließend wird die Session-Datei gelöscht.
Dies können Sie überprüfen, in dem Sie unter 'XAMPP' in das Unterverzeichnis 'tmp' schauen. Die Datei wird nach dem Ausloggen gelöscht.