Gestire i Cookie
I cookie sono un metodo rapido per memorizzare, sul computer dei nostri utenti, delle informazioni che vogliamo persistano anche nelle successive visite al nostro sito.
I cookie sono molto utili per memorizzare piccoli dati come ad esempio il nome dell'utente o una serie di preferenze di navigazione. I cookie non sono adatti per informazioni critiche come password o dati personali in quanto potrebbero crearsi dei problemi di sicurezza.
Per impostare un cookie useremo la funzione setcookie() in questo modo:
setcookie("nome_utente", "pippo", time()+3600);
Come vedete all'interno della funzione setcookie() abbiamo inserito 3 parametri:
- il primo specifica il nome identificativo del nostro cookie;
- il secondo specifica il valore del cookie;
- il terzo imposta la scadenza del cookie; se non impostiamo una data di scadenza il coookie non scadrà;
// corretto setcookie(...); echo "...";
// errore echo "..."; setcookie(...);Facciamo ora un esempio su come memorizzare il nome di un nostro utente (richiesto tramite un form) all'interno di in un cookie. Ecco il codice:
<?php
//recupero il nome dall querystring
$nome = $_GET['nome'];
//memorizzo il nome in un cookie ed imposto la scadenza tra un'ora...
setcookie("nome_utente", $nome, time()+3600);
?>
Ora che abbiamo memorizzato nel cookie il nome dell'utente potremo tranquillamente richiamarlo in tutte le nostre pagine PHP in questo modo:
<?php //recupero il valore del cookie... $nome = $_COOKIE['nome_utente']; //stampo a video il nome... echo $nome; ?>Se vogliamo cambiare il valore del nostro cookie basterà ripetere semplicemente l'operazione di assegnazione:
<?php
//imposto come valore "pippo"
setcookie("nome_utente", "pippo");
//ho cambiato idea e imposto come "pluto"
setcookie("nome_utente", "pluto");
?>
Se invece vogliamo cancellare il cookie basterà richiamare il cookie senza specificare nessun valore:
setcookie("nome_utente");
oppure possiamo reimpostare la scadenza ad un momento passato:
setcookie("nome_utente", "pippo", time()-9999);
In entrambi i casi il cookie verrà cancellato.
Nota: La funzione setcookie() non vi garantisce la creazione del cookie voluto. La funzione, infatti, si limita ad inviare le giuste intestazioni HTTP, poi spetta al client del vostro utente accettarle o meno. Quindi siete avvertiti...
');







