© Marco Olivo <me@olivo.net>, luglio 2001
COOKIES
In PHP è naturalmente possibile gestire i cookies, informazioni salvate sulla macchina dell'utente dal sito web che si sta visitando per uso futuro. Non ci addentreremo in problematiche di privacy e neppure in una descrizione di cosa sono i cookies e come funzionano: per questo vi rimandiamo alle guide in rete e in particolare all'indirizzo http://www.cookiecentral.com/
Il PHP mette a disposizione dello sviluppatore una utile funzione, setcookie(), che permette di fare tutto quel che si può fare con i cookies: settarne uno oppure cancellarlo.
Per accedere ad un cookie nella maggior parte delle installazioni è sufficiente utilizzare il nome del cookie preceduto dal simbolo di dollaro, esattamente come se fosse una variabile passata allo script (ed in effetti è proprio così)
La funzione setcookie() dispone di ben 6 campi ma nella maggior parte degli utilizzi sarà sufficiente specificare i primi 3.
La sintassi è:
int setcookie(string name, string value, int expire, string path, string domain, int secure);
Anzitutto va notato che prima di spedire un cookie è necessario non aver scritto nulla in output, pena un messaggio di warning da parte del PHP. Infatti, secondo il protocollo HTTP, i cookies devono essere passati negli headers della pagina.
Per cancellare un cookie sarà sufficiente richiamare la funzione setcookie() passandole solamente il primo argomento, e cioè il nome del cookie da cancellare dal browser dell'utente.
Per spedire invece un cookie ci sono vari modi:
<?PHP
setcookie("testcookie", "valore"); /* imposta il cookie nella maniera piu' semplice possibile */
setcookie("testcookie", "valore", time() + 3600); /* "spira in" 1 ora */
setcookie("testcookie", "valore", time() + 3600, "/"); /* "spira" in 1 ora e lo imposta come leggibile da tutte le pagine
del sito (il suo path viene impostato sulla root del webserver) */
echo $testcookie; /* stampa il valore del cookie $testcookie */
?>
Per maggior informazioni sui cookies vi rimandiamo in rete ai siti già citati o all'indirizzo http://www.netscape.com/newsref/std/cookie_spec.html