Autore: Fabio Di Matteo
Ultima revisione: 09/05/2009
I 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[] .
L'utilizzo base di setcookie e' il seguente, per la casistica piu' avanzata vi rimando al manuale php
setcookie('ricorda', 'si', time()+4000);
dove:
* 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()
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;
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 Roundcube e Horde Webmail. Una volta memorizzata la scelta alla successiva visita della pagina l'utente verra reindirizzato entro 3 secondi verso la webmail preferita.
<?php if (!isset( $_GET["roundcube"] ) && !isset($_GET["horde"]) ){ if (isset($_COOKIE["ricorda"])) { echo "Il cookie e' stato settato.<br>"; 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' <html> <head> <title>Webmail miosito</title> <meta http-equiv="refresh" content="3; URL='.$redirect_url.'"> </head> <body> <div align="center"><br><img src="logoposta.jpg" alt="logoposta"><br>Benvenuti nella <b>Webmail</b> <br><br> da adesso e\' possibile scegliere tra due diversi programmi per la gestione della posta elettronica,<br> <b>Roundcube</b> <i>semplice ma efficente</i> e <b>Horde</b> <i>completo e piu\' avanzato.</i> <br><br><br><br> <b>Seleziona il client da utilizzare:</b><br><br> <form action="index.php" method="get"> <button name="roundcube" type="submit"><img src="roundcube.jpg" border="0" alt="Roundcube"></button> <button name="horde" type="submit"><img src="horde.jpg" border="0" alt="Horde"></button> <br><br><input type="checkbox" name="ricorda" value="1" '; if ($checked=='1') echo 'checked '; echo' >Ricorda le impostazioni'; echo '</div></body> </html>'; }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'); } ?>
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.