Page 176 - Corso di PHP - Livello base
P. 176
parlare. I cookie (letteralmente “biscotti”) sono informazioni
che vengono inviate dal server al client: e proprio qui sta la
prima differenza rispetto alle sessioni, perché queste ultime
rimangono sul server. Un'altra differenza consiste nel fatto che
la sessione viene cancellata nel momento in cui il browser
viene chiuso: il cookie invece persiste fino alla sua scadenza,
impostata quando il cookie viene creato. Data la natura dei
cookie, questi ci torneranno utili se vogliamo creare un modulo
di login che si “ricordi” dell'utente una volta chiuso il
browser, per evitargli magari di immettere nuovamente nome e
password al collegamento successivo. Un altro esempio può
essere dato da un sito multilingua: se il nostro sito accoglie
l'utente in italiano, ma quest'ultimo preferisce l'inglese, potrebbe
rendersi necessario un cookie che si ricordi dell'impostazione
settata dall'utente (ovvero “sito in lingua inglese”) ogni volta
che si collega.
Per creare un cookie esiste un'apposita funzione, setcookie, che
riceve tre parametri principali: il nome del cookie, le
informazioni e la durata:
setcookie("nome", "Federico", time()+3600);
La durata si imposta utilizzando la funzione time: quest'ultima
restituisce il numero di secondi trascorsi dal 1 gennaio 1970
alle ore 00:00:00. Si tratta della data di inizio del tempo
calcolato sui sistemi Unix ed è, come già detto, espresso in
secondi: si intuisce quindi che al valore restituito da time
bisognerà aggiungere un numero di secondi equivalente al
periodo di durata del nostro cookie. Nel caso dell'esempio,
3600 secondi: significa che il cookie avrà la durata di un'ora
(formata da 3600 secondi). Si intuisce quindi che è possibile
settare una durata qualsiasi per il nostro cookie, anche di anni!
setcookie("nome", "Federico", time()+3600*24); //un giorno
176