Leggere e creare cookies PHP
Vediamo come creare, gestire, leggere e cancellare i cookies con PHP.
Un cookie è un file che il server invia al client scrivendoci dentro delle informazioni. Il cookie viene memorizzato e scritto sull’hard disk del client attraverso il browser. Successivamente queste informazioni possono essere lette dal server quando il client richiede una determinata pagina.
Spesso vengono utilizzati per identificare gli utenti o per memorizzarne le preferenze. La differenza tra sessione e cookie è che, come detto in precedenza, i cookie vengono memorizzati sul computer client, mentre le sessioni sono conservate lato server. L’utente ha il pieno controllo dei cookie, infatti l’impostazione del browser per i cookie può essere gestita andando nel proprio browser in:
Strumenti>> Opzioni Internet> Privacy> poi sul pulsante avanzate.
Quindi a differenza delle sessioni, i cookie sono gestiti dagli utenti attraverso il proprio web browser e pertanto dobbiamo scegliere con attenzione quali dati devono essere utilizzati tramite i cookie.
I cookie vengono memorizzati con alcuni valori e possono essere letti da altri file nella stessa directory o sottodirectory. Per creare un cookie utilizziamo la funzione setcookie().
La sintassi della funzione setcookie() è la seguente:
setcookie(nome, valore, scadenza, percorso, dominio, sicurezza);
dove
Nome | Il nome della variabile da memorizzare |
Valore | Il valore memorizzato nella variabile |
Scadenza | Quando il cookie verrà cancellato dal client. In genere si usa la struttura time()+n dove n è il numero di secondi dopo cui scade il cookie |
percorso | Le directory per cui vale il cookie |
dominio | Il dominio per cui vale il cookie |
sicurezza | Se impostato a 1 il cookie è trasmesso solo tramite HTTPS |
$value=”ciao mondo”;setcookie ("test_cookie ", $value,time()+3600); /* verrà cancellato dopo 1 ora */
il codice appena visto imposta il cookie con il valore della variabile $value. Il cookie scadrà dopo un’ora, perché la scadenza è impostata a un’ ora (3.600 secondi) rispetto al presente. Il tempo di scadenza deve essere impostato in secondi.
Da tenere ben presente che:
1. I cookie registrati da una pagina saranno disponibili da subito alla pagina successiva.
2. Il cookie contiene informazioni contenute nell’header della pagina e per questo motivo la scrittura di un cookie va assolutamente fatta prima di inviare qualsiasi contenuto al client. Questo vuol dire che se vogliamo registrare un cookie, la prima istruzione della nostra pagina PHP deve essere quella del cookie.
Una volta impostato un cookie, questo può essere letto esattamente come si fa per una variabile. La funzione da utilizzare è la isset() che serve a vedere se un cookie è stato impostato.
<html><body><?phpif (isset($HTTP_COOKIE_VARS ["test_cookie "])) echo "Il contenuto del cookie è: " . $HTTP_COOKIE_VARS ["test_cookie "] ;else echo "Il cookie non è stato impostato";?></body></html>
Allo stesso modo, per cancellare i cookie basterà seguire la stessa procedura usata per creare l’impostazione iniziale, assegnando però una scadenza settata su un periodo di tempo precedente all’utilizzo, ovvero: time() -3600. Ciò impone che il cookie sia scaduto e viene di conseguenza eliminato dal computer client.
setcookie ("test_cookie ", "", time() - 3600);
- Articolo precedente Includere file con PHP include()
- Articolo successivo Script PHP sistemi di pagamento, e-commerce, link indexing, sondaggi e quiz