Skip to main content

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 in config/session.php. Der Treiber wird über die Variable SESSION_DRIVER in der .env gewählt.
Laravel bringt folgende Standard-Treiber mit:
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 des Request-Objekts oder über den globalen Helper session().

Über die Request-Instanz

Deklarieren Sie Request als Parameter Ihres Controllers und rufen Sie $request->session() auf.

Über den globalen Helper session()

Der Helper session() funktioniert überall – in Controllern, Views etc.
Beide Wege lassen sich in Tests mit assertSessionHas prüfen. Im Controller macht $request->session() die Abhängigkeit explizit.

Session-Operationen

Daten lesen

Existenz prüfen

Beachten Sie den Unterschied:

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()

Nach dem nächsten Request wird der Wert automatisch gelöscht.

Flash-Daten verlängern

Anzeige in Blade

Wenn Sie die Anzeige der Flash-Meldung in Ihrer Layout-Datei (layouts/app.blade.php) unterbringen, erscheint sie konsistent auf allen Seiten.

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

Nach dem Speichern und Redirect erscheint einmalig „Beitrag erstellt.” oben auf der Übersichtsseite.

Kombination mit Validierungsfehlern

Bei fehlgeschlagener Validierung nutzen Sie back()->withErrors(). Laravel legt die Fehler automatisch als Flash ab, sodass in Blade $errors verfügbar ist.
flush() löscht alles in der Session – auch den Login-Status. Für gezieltes Löschen einzelner Schlüssel nutzen Sie forget().

Nächste Schritte

Validierung

Erfahren Sie, wie Sie Formulareingaben validieren.
Zuletzt geändert am 13. Juli 2026