|
Home -> Manuali e Tutorials -> Guida PHP -> Cookies
Scarica il tutorial | Stampa il tutorial | Cerca nel sito
PHP COOKIES
Creare un cookie
I Cookies sono spesso usati per memorizzare dati nel browser remoto e tenere traccia degli utenti o identificarli al loro ritorno. Il cookie è un file che contiene alcune informazioni e viene memorizzato sul disco fisso del client. Per poter usare i cookies, deve essere attivata la relativa opzione del browser del client.
I cookies sono parte dell'intestazione HTTP, quindi devono essere settati prima che qualsiasi output sia inviato al browser. Questi non devono superare le dimensioni di 4 Kb.
I cookies possono contenere fino a sei componenti: Nome, Valore, Scadenza, Percorso, Dominio, Sicurezza. Per settarne uno, bisogna seguire la sintassi seguente:
| setcookie(nome, valore, tempo, percorso, dominio, sicurezza); |
Vediamo ora un esempio:
<?php
setcookie ("test_cookie","niente di particolare",time()+43200,"/");
echo "<HTML>";
echo "<BODY>";
if (isset($_COOKIE["test_cookie"]))
{
echo "Ciao visitatore, i tuoi contenuti sono: ".$_COOKIE["test_cookie"];
} else
{
echo "Non ho trovato alcun cookie con il nome test_cookie";
}
echo "</BODY>";
echo "</HTML>";
?>
|
Nell'esempio di sopra, notate come la funzione setcookie() venga chiamata prima di qualsiasi tags, compresi anche <html> o <head>. Tutti gli argomenti della funzione eccetto il nome sono opzionali.
Se viene passato alla funzione solo l'argomento nome, il cookie registrato con quel nome verrà cancellato dal client su cui è archiviato.
E' possibile sostituire gli argomenti che non si intende specificare utilizzando una stringa vuota (""). Gli argomenti tempo e sicurezza, che richiedono numeri interi come valori, non possono essere omessi inserendo una stringa vuota; per questo scopo si usa lo 0. L'argomento tempo è un normale intero Unix Timestamp ottenibile grazie alle funzioni time() o mktime(). sicurezza sta ad indicare che il cookie dovrebbe essere trasmesso soltanto attraverso un collegamento sicuro di tipo HTTPS.
Ricordate che i cookies diventano disponibili soltanto dalla pagina successiva a quella che li ha generati, o dopo il ricaricamento di questa.
Ogni cookie inviato dal client sarà automaticamente trasformato in una variabile PHP, come avviene nel caso di dati GET o POST, in base alle variabili di configurazione register_globals e variables_order. Se si vogliono assegnare più valori ad un singolo cookie, basta aggiungere [] al nome del cookie. Dalla versione 4.1.0 del PHP, il vettore globale $_COOKIE sarà sempre adibito alla gestione dei dati memorizzati tramite cookies sul pc client; $_COOKIE sostituisce il vettore globale $HTTP_COOKIE_VARS, usato nelle versioni precedenti del PHP.
Cancellare un cookie
I cookie devono essere cancellati specificando gli stessi parametri con cui sono stati creati. Per cui se il cookie è stato creato specificando solo i parametri nome e valore, basterà impostare la funzione setcookie() solamente con il nome del cookie da cancellare:
| setcookie ("nome del cookie"); |
oppure mettere un tempo di scadenza negativo, nel caso in cui avete creato il cookie impostando solo il nome, valore e tempo di scadenza:
| setcookie ( "nome","","time()-43200,"/"); |
Se nel tempo di scadenza si mettessero i seguenti valori, si otterrebbero:
| time() +3600 |
Scadrà tra un'ora |
| time() +86400 |
Scadrà tra 24 ore |
| time() +2592000 |
Scadrà tra 30 giorni |
Torna su | Indice Guida | Pagina << 16 >>
|