Page 177 - Corso di PHP - Livello base
P. 177
setcookie("nome", "Federico", time()+3600*24*30); // un mese
setcookie("nome", "Federico", time()+3600*24*365); // un anno
Se invece la scadenza non viene impostata, il cookie scadrà
semplicemente alla fine della sessione. La documentazione
ufficiale della funzione time è disponibile all'indirizzo
http://php.net/manual/en/function.time.php.
Quello che abbiamo visto sopra è l'esempio più tipico, ma in
realtà si possono estendere a sette i parametri che la funzione
setcookie può ricevere, perché oltre a nome, valore e scadenza
possiamo specificare anche percorso (ovvero la directory per
cui è valido il cookie), il dominio (come per il percorso, ma si
estende a tutto il dominio), la sicurezza (che se settata a true fa
in modo che il cookie venga trasmesso solo attraverso
protocollo sicuro https) e httponly (funziona come la sicurezza:
se settato a true, fa in modo che il cookie venga trasmesso solo
tramite protocollo http, e di conseguenza non sarà accessibile a
linguaggi di scripting come JavaScript). Per esempio:
setcookie("nome", "Federico", time()+3600, "/prova/", "losnaweb.com", true, true);
In questo caso il cookie è valido solo per la cartella “prova” del
sito “losnaweb.com” (che non va scritto con “www” anteposto),
si trasmette solo in presenza di una connessione sicura ed è
accessibile solo al protocollo http.
setcookie("nome", "Federico", time()+3600, "/");
In questo caso invece abbiamo creato, attraverso la formula "/",
un cookie che è valido per tutte le cartelle del sito.
Per recuperare il valore di un cookie che abbiamo impostato in
precedenza, sarà necessario utilizzare la variabile superglobale
$_COOKIE, e il nome dell'elemento dell'array non sarà altro
177