Doba platnosti cookies v PHP
Už víte, že cookies se zapisují pomocí funkce setcookie:
<?php
setcookie('test', 'abcde');
?>
Takové cookies však nežijí dlouho - pouze do zavření prohlížeče. Dobu platnosti cookies lze prodloužit pomocí třetího parametru, který přijímá časový okamžik ve formátu timestamp. Jakmile tento okamžik nastane - cookie bude prohlížečem automaticky smazána.
Nastavovat konkrétní okamžik zániku cookie však není příliš pohodlné. Bylo by pohodlnější nastavit cookie například na hodinu od aktuálního okamžiku, nebo na den, nebo na rok.
Proto se třetí parametr obvykle zapisuje takto: aktuální časový okamžik + N sekund. Aktuální časový okamžik ve formátu timestamp lze získat pomocí funkce time.
Pro příklad nastavme cookie na jednu hodinu. Protože v hodině je 3600 sekund, přičtěme toto číslo k aktuálnímu okamžiku:
<?php
setcookie('test', 'abcde', time() + 3600);
?>
Při nastavování cookies se obvykle sekundy zapisují v tomto tvaru: - to je hodina, 60 * 60 - to jsou den. A tak dále. Dělá se to proto, aby bylo čtenáři vašeho kódu zřejmé, na jakou dobu je cookie nastavena.
60 * 60 * 24
Pro příklad nastavme cookie na den:
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Nastavte nějakou cookie na měsíc.
Nastavte nějakou cookie na rok.
Nastavte nějakou cookie na 10 let.