PHP 4.3

9.5 Verfallsdatum von Cookies

Mit dem Verfallsdatum eines Cookies regeln Sie, wie lange ein Cookie die von Ihnen gespeicherten Inhalte archiviert. Dabei ist es sowohl möglich, Zeitpunkte in der Zukunft anzugeben als auch Zeitpunkte in der Vergangenheit. Letzteres hat zur Folge, dass der entsprechende Cookie gelöscht wird.

Wie bereits erwähnt bewirkt die Angabe des Wertes 0, dass mit dem Schließen des Browserfensters gleichzeitig der Cookie verfällt. Nachdem ein Cookie verfallen ist, können Sie, auch wenn er vielleicht noch eine Zeit lang in einer zentralen Cookie-Datei auf der Festplatte gespeichert wird, nicht mehr auf ihn zugreifen. Nach einiger Zeit wird der Cookie durch einen neuen überschrieben.

Um die Lebensdauer eines Cookies zu bestimmen, definieren Sie als dritten Parameter einen Zeitraum in Sekunden seit dem 1.1.1970, 00:00 Uhr UTC (Universal Time Coordinated: die Bezeichnung für die internationale Zeit, historisch bedingt auch oft als Greenwich Mean Time / GMT bezeichnet). Um nicht jedes Mal nachrechnen zu müssen, wie viele Sekunden seit diesem Zeitpunkt vergangen sind, können Sie die PHP-Funktion time() einsetzen, welche die aktuelle Systemzeit ermittelt und aus der Differenz den Zeitraum in Sekunden wiedergibt. Indem Sie hierzu 3600 Sekunden addieren, setzen Sie die Lebensdauer des Cookies auf eine Stunde fest. Bitte beachten Sie in diesem Zusammenhang den Unterschied zwischen Server- und Clientzeit. Die PHP-Funktion time() gibt die Zeit des Servers wieder, die Auswertung der Zeitangabe erfolgt aber vom Browser auf dem Clientrechner. Sofern die beiden Zeiten unterschiedlich sind, kann der Cookie zu früh oder zu spät verfallen. Versuchen Sie also besser nicht, Verfallsdaten auf die Minute genau an ein Ereignis zu binden.

Beispielskript Verfallsdatum
<?php

  setcookie("neuer_cookie", "Ich verfalle nach einer Stunde", time()+3600);
  if (isset($HTTP_COOKIE_VARS["neuer_cookie"])) {
    echo "Inhalt des Cookies: " . $HTTP_COOKIE_VARS["neuer_cookie"];
  } else {
    echo "Der Cookie wurde jetzt erstmals geschrieben oder ist bereits abgelaufen.";
  }

?>

Browserausgabe beim ersten Aufruf:

Der Cookie wurde jetzt erstmals geschrieben oder ist bereits abgelaufen.


Browserausgabe beim zweiten Aufruf:

Inhalt des Cookies: Ich verfalle nach einer Stunde


Browserausgabe nach einer Stunde:

Der Cookie wurde jetzt erstmals geschrieben oder ist bereits abgelaufen.

Kommentare (0)

Ihr Kommentar

Name