Was ist eine Session
HTTP ist ein zustandsloses Protokoll: Es gibt keinen eingebauten Mechanismus, um Nutzerinformationen zwischen Requests zu erhalten. Die Session-Funktion von Laravel liefert das Fehlende: Sie hält Daten über mehrere Requests hinweg. Login-Status, Warenkorb-Inhalte, Zwischenstände bei mehrstufigen Formularen – alles, was zwischen Requests bestehen bleiben soll, legen Sie in der Session ab.Session-Treiber konfigurieren
Die Konfiguration liegt inconfig/session.php.
Der Treiber wird über die Variable SESSION_DRIVER in der .env gewählt.
Die Laravel-Standardprojekte sind auf
database gesetzt. Der database-Treiber benötigt die Tabelle sessions, die in den Standard-Migrationen bereits vorhanden ist.Zugriff auf die Session
Es gibt zwei Wege: über die Methoden desRequest-Objekts oder über den globalen Helper session().
Über die Request-Instanz
Deklarieren SieRequest als Parameter Ihres Controllers und rufen Sie $request->session() auf.
Über den globalen Helper session()
Der Helper session() funktioniert überall – in Controllern, Views etc.
Session-Operationen
Daten lesen
Existenz prüfen
Daten schreiben
Daten löschen
Flash-Daten
Flash-Daten leben nur für den nächsten Request. Ideal für einmalige Meldungen nach einer Formularübermittlung.Speichern mit flash()
Flash-Daten verlängern
Anzeige in Blade
Praxisbeispiel: Meldung nach Formularübermittlung
Nach dem Absenden eines Formulars legen Sie eine Erfolgsmeldung in die Session, redirecten und zeigen sie auf der Zielseite an – ein Klassiker.1
Routen definieren
2
Controller implementieren
Nach dem Speichern wird mit Flash-Meldung umgeleitet.
redirect()->with('success', '...') ist eine Kurzform, um Flash-Daten mit einem Redirect zu übergeben.3
Meldung im Layout anzeigen
4
Übersichts-View anlegen
Kombination mit Validierungsfehlern
Bei fehlgeschlagener Validierung nutzen Sieback()->withErrors().
Laravel legt die Fehler automatisch als Flash ab, sodass in Blade $errors verfügbar ist.
Nächste Schritte
Validierung
Erfahren Sie, wie Sie Formulareingaben validieren.