Funzioni per la gestione dei Cookie:
setcookie()
La funzione principale per creare un cookie è
setcookie(), i suoi parametri consentono di
creare e gestire le variabili all'interno dei cookie.
Sintassi:
setcookie($nome,$value,$expire,$path,$dominio,$secure);
Analizziamo le variabili:
N.B. Tutte le stringhe letterali devono essere racchiuse fra doppi apici.
- $nome Indica il nome del cookie.
- $value Indica il valore del cookie.
- $expire Indica il tempo dopo il quale cancelleremo il cookie (NON è
obbligatorio, ma se inserito deve contenere un valore numerico, 0 per indicare "").
- $path Indica la cartella o la pagina del sito dove il cookie è valido
(serve per creare un cookie specifico per alcune cartelle del sito. Se inseriamo la barra
"/" vuol dire che il cookie è valido per tutto il sito).
- $dominio Indica il dominio del sito dove il cookie è valido.
- $secure Può assumere valore 0 oppure 1. Se impostato su 1 il cookie sarà
spedito solo se la connessione è sicura (https) (NON è obbligatorio, ma se inserito deve
contenere un valore numerico, 0 per indicare "").
ATTENZIONE:
Nella funzione
setcookie() solo i primi due valori sono obbligatori.
ESEMPIO:
Creare un cookie:
setcookie("allweb","collegato", time()+3600);
In questo caso abbiamo creato un cookie con nome=allweb, con value="collegato" e che si
autodistrugge fra un'ora a partire dalla data di connessione (
time() estrae il timestamp
del momento)
Cookie multipli:
Per inserire più valori all'interno di un cookie dobbiamo utilizzare un array.
Per fare questo dobbiamo associare al nome del cookie il nome dell'array, guarda l'esempio:
setcookie("allweb[informazione]","collegato", time()+3600);
setcookie("allweb[dove]","allwebfree", time()+3600);
setcookie("allweb[quando]","adesso", time()+3600);
Recupero dati:
Per recuperare i dati da un cookie basta chiamare la variabile
$_COOKIE["nome"], con
nome uguale al
nome dichiarato
nella funzione
setcookie().
Per versioni php precedenti alla 4.0 si utilizza la variabile globale
$HTTP_COOKIE_VARS["nome"]
Per richiamare dati contenuti in un array depositato con il cookie basta eseguire le
funzioni per array sulla variabile
$_COOKIE["nome"].
Eliminare un cookie:
Per eliminare un cookie basta inserire la funzione
setcookie() con un valore vuoto.
setcookie("allweb","");
In alternativa potrete variare il cookie già esistente inserendo una data già passata.
setcookie("allweb","",time()-3600);
Cookie e sessioni:
L'unica grande differenza fra i cookie e le sessioni sta nel fatto che le sessioni NON hanno
una data di scadenza come i cookie.
Le sessioni sono automaticamente eliminate appena il navigatore chiude il browser, mentre il
cookie può persistere all'interno del pc anche per anni.