Guida PHP

Home | Guida PHP | Art. # 22

I cookies in PHP

Registrazione Domini
Registrazione Domini Internet ai prezzi più bassi d'Europa: soli 5,40 euro più IVA all'anno!

I cookies (in inglese biscotti) rappresentano un sistema di memorizzazione non permanente delle informazioni, attraverso il Web. Un cookie è un file temporaneo che viene memorizzato nella cache del client che visita una pagina Web. Al suo interno possono essere contenute informazioni di varia natura e gli scopi del loro utilizzo sono molteplici.

Si possono usare per memorizzare determinati passaggi della navigazione di un utente allo scopo di semplificargli la vita, mettendogli a disposizione le informazioni che predilige, oppure mostrare un certo tipo di pubblicità invece che un'altra, oppure per monitorare il numero di volte che un'operazione vine ripetuta o impedire che si ripeta più di N volte.

Al centro di numerose controversie in passato, dato che si diceva che i cookies mirassero a ledere la privacy delle persone, al giorno d'oggi i moderni sistemi di controllo dei browser Web li rendono finalmente sicuri e pronti ad ottemperare alle loro funzioni di utili strumenti di monitoraggio.

In PHP i cookies si creano e si gestiscono attraverso la funzione setcookie e si accede alle loro informazioni attraverso la variabile $_COOKIE.

Creazione dei cookies

La sintassi per la creazione di un cookie in PHP è la seguente:

setcookie(nome, valore, scadenza, percorso, dominio)

dove il nome ed il valore sono, appunto, il nome del cookie ed il valore che si intende attribuirgli e sono parametri obbligatori alla fine della creazione.

La scadenza può essere impostata o meno: se impostata il cookie scadrà dopo il tempo specificato; se non impostata, il cookie morirà allo scadere della sessione, chiudendo il browser. Si parla quindi di cookie session only.

Il percorso ed il dominio del cookie, se non specificati, sono quelli di default della pagina che li genera.

Una sola nota: i cookie in PHP vanno necessariamente creati prima dell'apertura del codice HTML, quindi del tag <html>.

Facciamo dunque un esempio di creazione di un cookie in PHP:

<?
    setcookie("autore", "Luca Ruggiero", time() + 600);
?>
<html>
...

Abbiamo impostato il cookie "autore", gli abbiamo assegnato il valore "Luca Ruggiero" ed abbiamo impostato la data di scadenza a 10 minuti, essendo la scadenza un parametro che accetta un valore numerico in secondi, addizionati al time corrente.

Lettura dei cookies

Vediamo adesso come leggere il cookie all'interno della pagina che lo genera o di una qualsiasi altra pagina, dato che il cookie, permanente o di sessione, è ormai stato creato:

...
<body>

<p><?echo $_COOKIE["autore"];?></p>

</body>
</html>

Verrà stampato a video il valore impostato al cookie in fase di creazione.

Cancellazione dei cookies

Per eliminare un cookie è sufficiente risettarlo con la funzione setcookie senza impostare alcun valore, come nell'esempio che segue:

<?
    setcookie("autore");
?>
 

Scritto in data 09/01/2008 e modificato in data 10/03/2008

Segnalalo ad un Amico | Aggiungilo ai Preferiti

© 2008 Appunti PHP - A cura di Luca Ruggiero - Partita IVA 05564851219 - Privacy | Pubblicità | Contatti