English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Strumenti Online

Tutorial PHP di Base

Tutorial PHP Avanzato

PHP & MySQL

Cookie PHP

Manuale di riferimento PHP

In questo tutorial, imparerai come utilizzare i cookie PHP per memorizzare informazioni in piccola quantità all'interno del browser dell'utente.

Cos'è un Cookie

Suggerimento:Ogni volta che il browser richiede una pagina al server, tutti i dati nei cookie vengono inviati automaticamente nel server richiesto all'interno della richiesta.

Impostazione Cookie

La funzione setcookie() viene utilizzata per impostare i cookie in PHP. Assicurati di chiamare la funzione setcookie() prima di qualsiasi output generato dallo script, altrimenti il cookie non verrà impostato. La sintassi di base della funzione può essere fornita nel modo seguente:

setcookie(name, value, expire, path, domain, secure);

I parametri della funzione setcookie() hanno il seguente significato:

ParametriDescrizione
nameIl nome del cookie.
valueIl valore del cookie. Poiché questo valore viene memorizzato sul computer dell'utente, non conservare informazioni sensibili.
expiresData di scadenza in formato timestamp UNIX. Dopo questa data, il cookie non sarà più accessibile. Il valore predefinito è 0
pathSpecifica il percorso in cui il cookie è disponibile sul server. Se impostato su /, il cookie sarà disponibile in tutto il dominio.
domainSpecifica il dominio utilizzabile per il cookie, ad esempio: it.oldtoolbag.com.
secureQuesto campo (se esistente) indica che il cookie viene inviato solo quando esiste una connessione HTTPS sicura.

Suggerimento:Se la scadenza del cookie è impostata a 0 o omessa, il cookie scadrà alla fine della sessione, ovvero quando il browser viene chiuso.

Esempio di creazione di un cookie chiamato userName utilizzando la funzione setcookie() e assegnazione del valore John Carter. Inoltre, viene specificato che il cookie scada dopo 30 giorni (30 giorni * 24 ore * 60 minuti * 60 secondi).       

<?php
//Impostare il Cookie
setcookie("username", "John Carter", time()+30*24*60*60);
?>

Attenzione:Oltre al nome, tutti i parametri sono opzionali. Puoi anche sostituire i parametri con una stringa vuota ("") per saltare il parametro, ma per saltare il parametro expire, usa zero poiché è un intero.

Attenzione:Non memorizzare dati sensibili nei Cookie, poiché gli utenti malintenzionati potrebbero manipolare i dati sensibili. Per memorizzare dati sensibili in modo sicuro, utilizzareSessione.

Accedere al valore del Cookie

La variabile superglobale PHP $_COOKIE viene utilizzata per recuperare i valori dei cookie. Di solito è un array associativo che contiene l'elenco di tutti i valori dei cookie inviati dal browser nella richiesta corrente, con il nome del cookie come chiave. Puoi accedere a un singolo valore di cookie utilizzando il simbolo di array standard, ad esempio, per visualizzare il cookie di nome utente impostato nell'esempio precedente, puoi utilizzare il seguente codice.

<?php
//Accedere a un singolo valore di Cookie
echo $_COOKIE["username"];
?>

Il codice PHP dell'esempio precedente produce l'output seguente.

John Carter

Prima di accedere al valore del cookie, è meglio controllare se il cookie è stato impostato. Per fare questo, puoi utilizzare la funzione PHP isset() come segue:

<?php
//Verificare se è stato impostato il cookie
if (isset($_COOKIE["username"])) {
    echo "Ciao " . $_COOKIE["username"];
} else {
    echo "Benvenuto, Ospite!";
}
?>

Puoi utilizzare la funzione print_r($_cookie) per visualizzare la struttura dell'array associativo $_cookie, come faresti con qualsiasi altro array.

Eliminare Cookie

Puoi eliminare un cookie chiamando la funzione setcookie() con il nome del cookie e qualsiasi valore (ad esempio una stringa vuota), ma devi impostare la data di scadenza su una data precedente al presente, come nell'esempio seguente:

<?php
//Eliminare il cookie
setcookie("username", "", time()-3600);
?>

Suggerimento:Deve passare il nome esattamente lo stesso utilizzato durante la creazione iniziale del Cookie, insieme al percorso, al dominio e altri parametri, per assicurarsi di eliminare il Cookie corretto.