====== Utilizzare i cookie in Php ====== Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//09/05/2009//** \\ \\ I [[http://it.wikipedia.org/wiki/Cookie|cookie]] sono stringhe inviate da un webserver ad un browser e successivamente reinviate dal browser al server. Servono di solito per memorizzare preferenze oppure tenere traccia del login di un utente, ma anche a molto altro, dipende dall' esigenza. \\ Utilizzare i cookie in php e' molto facile infatti si usa soltanto una funzione per scriverli ,ovvero **setcookie()**, e poi vengono riletti tramite l'array **$_COOKIE[]** . ===== Generare un cookie ===== L'utilizzo base di setcookie e' il seguente, per la casistica piu' avanzata vi rimando al [[http://it.php.net/manual/en/function.setcookie.php|manuale php]] setcookie('ricorda', 'si', time()+4000); dove: \\ * **ricorda** e' il nome del cookie; * **si** e' il valore che vogliamo dare al cookie ; * **time()+4000** indica la data di scadenza del cookie *; * ovvero in questo caso la data attuale piu' 400 secondi, in pratica il cookie ha quindi durata pari a 400 secondi. \\ //E' importante sottolineare che una volta generato il cookie questo potra' essere letto a partire dalla pagina web successiva a quella contenente la funzione setcookie() // ===== Leggere un cookie ===== I cookie, come gia' detto, vengono letti tramite l'array $_COOKIE[] nella seguente maniera: $valore_cookie = $_COOKIE["ricorda"] dove **ricorda** e' il nome del cookie; ===== Un pratico esempio ===== Di seguito un pratico esempio di come sia possibile implementare una pagina che possa gestire la scelta tra due client web per la posta ricordando le scelte effettuate dall'utente tramite un cookie. La scelta in questo caso e' tra [[http://roundcube.net/|Roundcube]] e [[http://www.horde.org/webmail/|Horde Webmail]]. Una volta memorizzata la scelta alla successiva visita della pagina l'utente verra reindirizzato entro 3 secondi verso la webmail preferita. "; echo "Il cookie ha valore ". $_COOKIE["ricorda"] ; $checked="1" ; if ($_COOKIE["ricorda"]=='roundcube') $redirect_url="http://www.miosito.it/roundcubemail/"; if ($_COOKIE["ricorda"]=='horde') $redirect_url="http://www.miosito.it/horde/"; } echo' Webmail miosito

logoposta
Benvenuti nella Webmail

da adesso e\' possibile scegliere tra due diversi programmi per la gestione della posta elettronica,
Roundcube semplice ma efficente e Horde completo e piu\' avanzato.



Seleziona il client da utilizzare:



Ricorda le impostazioni'; echo '
'; }else{ if (isset($_GET["ricorda"]) ) { if (isset($_GET["roundcube"])) setcookie('ricorda', 'roundcube', time()+400000); if (isset($_GET["horde"])) setcookie('ricorda', 'horde', time()+400000); }else{ setcookie('ricorda', '0', time()+400000); } if (isset($_GET["roundcube"])) header('Location: http://www.miosito.it/roundcubemail'); if (isset($_GET["horde"])) header('Location: http://www.miosito.it/horde'); } ?>