Durata dei cookie in PHP

Sapete già che i cookie devono essere scritti utilizzando la funzione setcookie:

php<?php
  setcookie('test', 'abcde');
?>

Tuttavia, questi cookie non hanno una vita lunga - solo fino alla chiusura del browser. È possibile estendere la durata del cookie utilizzando il terzo parametro, che accetta un momento nel tempo in formato timestamp. Non appena questo momento arriva, il cookie verrà automaticamente eliminato dal browser.

Tuttavia, non è molto pratico impostare un momento specifico per la scadenza del cookie. Sarebbe più comodo impostare un cookie, ad esempio, per un'ora dal momento corrente, o per un giorno, o per un anno.

Pertanto, il terzo parametro viene solitamente scritto così: momento attuale + N secondi. Il momento attuale in formato timestamp può essere ottenuto utilizzando la funzione time.

Ad esempio, impostiamo un cookie per un'ora. Poiché in un'ora ci sono 3600 secondi, aggiungiamo questo numero al momento corrente:

php<?php
  setcookie('test', 'abcde', time() + 3600);
?>

Quando si impostano i cookie, di solito si indicano i secondi in questo modo: 60 * 60 - per un'ora, 60 * 60 * 24 - per un giorno. E così via. Questo viene fatto in modo che sia ovvio per chi legge il vostro codice per quanto tempo è impostato il cookie.

Ad esempio, impostiamo un cookie per un giorno:

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

Imposta un cookie per un mese.

Задание 2

Imposta un cookie per un anno.

Задание 3

Imposta un cookie per 10 anni.