Czas życia ciasteczek w PHP
Wiesz już, że ciasteczka należy zapisywać za
pomocą funkcji setcookie:
<?php
setcookie('test', 'abcde');
?>
Jednak takie ciasteczka nie żyją długo - tylko
do zamknięcia przeglądarki. Czas życia ciasteczka
można przedłużyć za pomocą trzeciego parametru,
który przyjmuje moment czasu w formacie
timestamp. Gdy tylko ten moment
nastąpi - ciasteczko automatycznie zostanie usunięte
przez przeglądarkę.
Jednak ustawianie konkretnego momentu wygaśnięcia ciasteczka nie jest zbyt wygodne. Wygodniej byłoby ustawić ciasteczko, na przykład, na godzinę od bieżącej chwili, lub na dzień, lub na rok.
Dlatego trzeci parametr zwykle zapisuje się
następująco: bieżący moment czasu + N sekund.
Bieżący moment czasu w formacie timestamp można
uzyskać za pomocą funkcji time.
Spójrzmy na przykład, ustawmy ciasteczko na jedną
godzinę. Ponieważ w godzinie jest 3600 sekund, to
dodajmy tę liczbę do bieżącego momentu:
<?php
setcookie('test', 'abcde', time() + 3600);
?>
Przy ustawianiu ciasteczek zwykle zapisuje się sekundy
w takiej formie: - to godzina, 60 * 60 - to doba. I tak dalej.
Robione jest to po to, aby czytającemu twój
kod było oczywiste, na jaki przedział czasu
ustawione jest ciasteczko.
60
* 60 * 24
Spójrzmy na przykład, ustawmy ciasteczko na dobę:
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Ustaw jakieś ciasteczko na miesiąc.
Ustaw jakieś ciasteczko na rok.
Ustaw jakieś ciasteczko na 10 lat.