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.Session-Serialisierung
Im Anwendungsskelett von Laravel 13 setztconfig/session.php serialization auf json. Der interne Standard des Frameworks ist weiterhin php.
Um aktive Sessions während des Upgrades zu erhalten, setzen Sie den Wert explizit auf php. Speichert Ihre Anwendung keine PHP-Objekte in der Session und ist es akzeptabel, Nutzer zu einer erneuten Anmeldung aufzufordern, können Sie aus Sicherheitsgründen json verwenden.
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.