Livslängd för cookies i PHP
Du vet redan att cookies måste skrivas med
funktionen setcookie:
<?php
setcookie('test', 'abcde');
?>
Men sådana cookies lever dock inte länge - bara
till webbläsaren stängs. Du kan förlänga livslängden
för en cookie med hjälp av den tredje parametern,
som accepterar en tidpunkt i formatet
timestamp. Så snart denna tidpunkt
inträffar kommer cookien automatiskt att raderas
av webbläsaren.
Men det är inte särskilt bekvämt att ställa in en specifik tidpunkt för när cookien ska försvinna. Det vore bekvämare att ställa in cookien, till exempel, på en timme från nu, eller på en dag, eller på ett år.
Därför skrivs den tredje parametern vanligtvis
så här: nuvarande tid + N sekunder.
Den nuvarande tiden i timestamp-format kan
man få med funktionen time.
Låt oss som ett exempel ställa in en cookie på en
timme. Eftersom det finns 3600 sekunder på en timme, så
adderar vi det numret till nuvarande tid:
<?php
setcookie('test', 'abcde', time() + 3600);
?>
När man ställer in cookies skriver man vanligtvis sekunderna
i den här formen: - det är en timme, 60 * 60 - det är ett dygn. Och så vidare.
Detta görs så att det för den som läser din
kod ska vara uppenbart under vilken tidsperiod
cookien är inställd.
60
* 60 * 24
Låt oss som ett exempel ställa in en cookie på ett dygn:
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Ställ in en cookie på en månad.
Ställ in en cookie på ett år.
Ställ in en cookie på 10 år.