13.02.22 3023 Views 3

credit: ©stock.adobe

PHP Blog

Der Unterschied zwischen Sessions und Cookies

Sowohl Sessions als auch Cookies werden eingesetzt, um Daten über mehrere PHP-Seiten hinweg zu halten. Während der grundlegende Sinn von Sessions und Cookies also sehr ähnlich ist, gibt es doch auch wesentliche Unterschiede.

Falconbyte unterstüzen

Der Unterschied zwischen Sessions und Cookies

Sowohl Sessions als auch Cookies werden eingesetzt, um Daten über mehrere PHP-Seiten hinweg zu halten.

Während der grundlegende Sinn von Sessions und Cookies also sehr ähnlich ist, gibt es doch auch wesentliche Unterschiede.

Was ist eine Session?

Eine Session wird verwendet, um Daten vorübergehend zu speichern. Die Session wird vollständig beendet ("zerstört"), wenn der User das PHP-Programm verlässt, also den Browser schließt. Sessions werden (anders als Cookies) auf dem Server verwaltet.

Lerne mehr über Sessions.

Was ist ein Cookie?

Ein Cookie ist ein kleines Datenpaket in Form einer Textdatei, die lokal auf dem Computer des Users gespeichert wird. Wie lange die Cookie-Daten abgelegt werden, wird beim Erzeugen des Cookies festgelegt und sind in der Regel für die langfristige Speicherung angelegt - jedenfalls werden sie nicht beim Schließen des Browsers oder Herunterfahren des Rechners gelöscht.

Lerne mehr über Cookies.

Wie Sessions und Cookies erstellt werden

Auch hinsichtlich der Syntax und der Art der Erstellung sowie des Zugriffs gibt es strukturelle Unterschiede zwischen Sessions und Cookies.

Schauen wir uns hierzu an, wie du eine Session bzw. einen Cookie in einem PHP-Programm jeweils erstellst.

Session

// Session starten
session_start();

// Session-Variablen setzen
$_SESSION["counter"] = 0;
$_SESSION["color"] = "red";

// Session-Variablen aufrufen
echo $_SESSION["counter"]; // 0
echo $_SESSION["color"]; // red    

Die Funktion session_start() legt eine Session an (dies muss übrigens die allererste Anweisung auf der PHP-Seite sein. Es darf kein HTML-Tag davor stehen).

Anschließend definieren wir jeweils zwei verschiedene Session-Werte (0 und "red").

Wie du siehst, werden die einzelnen Daten-Werte in der globalen Session-Variable $_SESSION gespeichert, das als assoziatives Array funktioniert.

Cookie

// Cookies erstellen
setcookie("Wert1", "Super Heavy", time() + (86400 * 30), "/");
setcookie("Wert2", "Starship", time() + (86400 * 30), "/");

// Cookies aufrufen
echo $_COOKIE["wert1"]; // Super Heavy
echo $_COOKIE["wert2"]; // Starship    

Zum Erstellen eines Cookies verwendest du die Funktion setcookie(). Dabei legen wir den Namen des Cookies, seinen Wert, die Lebensdauer und das Verzeichnis fest ("/" bedeutet Gültigkit für die gesamte Website).

Für jeden Cookie muss die Funktion jeweils separat aufgerufen werden.

Wie bei der Session, so werden auch Cookies in einem globalen assoziativen Array - nämlich diesmal $_COOKIE - gespeichert. Der Aufruf der einzelnen Cookies funktioniert dann auch ähnlich wie bei den Sessions.

Unterschiede kurzgefasst

Session Cookie
Lebensdauer kurzfristig (Ende: Schließen des Browsers) langfristig (Ende: vom Programmierer festgelegt)
Speicherort Server lokale Maschine des Nutzers
Speichergröße 128 MB 4 KB
Startfunktion session_start() setcookie()
globale Variable $_SESSION $_COOKIE

Sieh dir das Ganze auch auf youtube an:

Java lernen

text text

PHP Lernen

zur PHP

JavaScript lernen

move nove move

FALCONBYTE.NET

Handmade with 🖤️

© 2018-2023 Stefan E. Heller

Impressum | Datenschutz | Changelog

Falconbyte Youtube Falconbyte GitHub facebook programmieren lernen twitter programmieren lernen discord programmieren lernen