Livslängd för cookies i PHP

Du vet redan att cookies måste skrivas med funktionen setcookie:

php<?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<?php
  setcookie('test', 'abcde', time() + 3600);
?>

När man ställer in cookies skriver man vanligtvis sekunderna i den här formen: 60 * 60 - det är en timme, 60 * 60 * 24 - 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.

Låt oss som ett exempel ställa in en cookie på ett dygn:

php<?php
  setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Задание 1

Ställ in en cookie på en månad.

Задание 2

Ställ in en cookie på ett år.

Задание 3

Ställ in en cookie på 10 år.