Cookie-Lebensdauer in PHP
Sie wissen bereits, dass Cookies mit
der Funktion setcookie gesetzt werden müssen:
<?php
setcookie('test', 'abcde');
?>
Allerdings leben solche Cookies nicht lange - nur
bis zum Schließen des Browsers. Die Lebensdauer eines Cookies
kann durch den dritten Parameter verlängert werden,
der einen Zeitpunkt im timestamp-Format erwartet.
Sobald dieser Zeitpunkt eintritt - wird das Cookie automatisch vom Browser gelöscht.
Es ist jedoch nicht sehr praktisch, einen konkreten Ablaufzeitpunkt für das Cookie festzulegen. Es wäre bequemer, das Cookie beispielsweise für eine Stunde ab dem aktuellen Zeitpunkt, oder für einen Tag, oder für ein Jahr zu setzen.
Daher wird der dritte Parameter üblicherweise
so notiert: aktueller Zeitpunkt + N Sekunden.
Den aktuellen Zeitpunkt im Timestamp-Format kann man
mit der Funktion time erhalten.
Lassen Sie uns als Beispiel ein Cookie für eine
Stunde setzen. Da eine Stunde 3600 Sekunden hat,
addieren wir diese Zahl zum aktuellen Zeitpunkt:
<?php
setcookie('test', 'abcde', time() + 3600);
?>
Beim Setzen von Cookies werden die Sekunden
normalerweise in dieser Form angegeben: - das ist eine Stunde, 60 * 60 - das ist ein Tag. Und so weiter.
Dies geschieht, damit dem Leser Ihres Codes
offensichtlich ist, für welchen Zeitraum das Cookie gesetzt ist.
60
* 60 * 24
Lassen Sie uns als Beispiel ein Cookie für einen Tag setzen:
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Setzen Sie ein beliebiges Cookie für einen Monat.
Setzen Sie ein beliebiges Cookie für ein Jahr.
Setzen Sie ein beliebiges Cookie für 10 Jahre.