MB Dev .tech
Registrieren Login

Forms · Sessions & Cookies

← Zurück zu Forms, Requests & State

HTTP ist von Natur aus zustandslos. Das heißt: Jeder Request ist erst einmal „neu“. Trotzdem erwarten wir Dinge wie Login, Warenkorb oder Einstellungen. Genau hier kommen Sessions und Cookies ins Spiel.

Merke
Sessions & Cookies speichern „State“

Sie helfen dabei, Informationen über mehrere Requests hinweg zu behalten.

1) Warum brauchen wir überhaupt „State“?

Stell dir vor, jede Seite „vergisst“ alles:

  • Du müsstest dich bei jedem Klick neu einloggen.
  • Ein Warenkorb wäre nach dem nächsten Seitenaufruf leer.
  • Einstellungen könnten nicht gespeichert werden.

Sessions und Cookies lösen genau dieses Problem.

2) Cookies – Daten im Browser

Cookies werden im Browser des Nutzers gespeichert. Sie werden bei jedem passenden Request automatisch wieder an den Server gesendet.

  • Kleine Textinformationen
  • Haben ein Ablaufdatum
  • Werden pro Domain gespeichert
Cookie setzen (PHP)

// Cookie 1 Stunde gültig
setcookie(
    'mein_cookie',
    'wert',
    time() + 3600,
    '/'
);
Tipp
Cookies für kleine Infos nutzen

Zum Beispiel: Sprache, Dark/Light-Mode, Zustimmung zu Hinweisen.

Achtung
Keine sensiblen Daten in Cookies

Cookies sind vom Nutzer einsehbar. Passwörter oder geheime Daten gehören dort nicht hinein.

3) Sessions – Daten auf dem Server

Sessions speichern Daten auf dem Server. Der Browser merkt sich nur eine Session-ID (meist in einem Cookie).

  • Daten liegen serverseitig
  • Sicherer für sensible Infos
  • Enden meist automatisch nach Inaktivität
Session nutzen (PHP)

session_start();

// Wert setzen
$_SESSION['username'] = 'max';

// Wert lesen
echo $_SESSION['username'];
Merke
Login-Status wird fast immer über Sessions umgesetzt

Zum Beispiel: $_SESSION['is_logged_in'] = true;

4) Mini-Demo: Session vs Cookie

Diese Seite merkt sich zwei Dinge:

  • Wie oft du die Seite in dieser Session aufgerufen hast
  • Ob ein Demo-Cookie im Browser existiert
Session
Seitenaufrufe in dieser Session

Du hast diese Seite 1 Mal aufgerufen (solange der Browser/Tab offen bleibt).

Cookie
Demo-Cookie im Browser

Cookie ist noch nicht gesetzt.

Tipp: Browser schließen oder Cookies löschen und Seite neu laden.

5) Session oder Cookie?

  • Cookie: klein, clientseitig, für einfache Infos
  • Session: serverseitig, sicherer, für Logins & Zustände
Achtung
Sessions sind nicht „für immer“

Nach einer gewissen Zeit ohne Aktivität werden sie gelöscht. Das ist gewollt und wichtig für Sicherheit.

Ausblick
Nächster Bereich: SQL & Datenbanken

Jetzt können wir Eingaben prüfen und State halten – als Nächstes speichern wir Daten dauerhaft in einer Datenbank.