Variabile superglobale $_COOKIE

La variabile $_COOKIE viene utilizzata in PHP per memorizzare piccoli dati nel browser dell’utente.

A differenza delle sessioni, che salvano i dati sul server, i cookie vengono salvati direttamente nel browser e possono essere utilizzati nelle visite successive al sito.

I cookie sono molto usati per:


Cos’è un cookie

Un cookie è un piccolo file di testo che il server invia al browser.
Il browser lo salva e lo rimanda al server nelle visite successive.

Ogni cookie contiene solitamente:


Creare un cookie

Per creare un cookie in PHP si utilizza la funzione:

setcookie()

Sintassi base

setcookie(nome, valore, scadenza);

⚠ Anche setcookie() deve essere utilizzato prima di qualsiasi output HTML.


Esempio

<?php

setcookie("utente", "Paolo", time() + 3600);

echo "Cookie creato";

?>

In questo esempio:


Leggere un cookie

I cookie vengono recuperati tramite la variabile superglobale $_COOKIE.

Esempio

<?php

echo $_COOKIE["utente"];

?>

Output:

Paolo

Controllare se un cookie esiste

È buona pratica verificare che il cookie esista prima di utilizzarlo.

<?php

if(isset($_COOKIE["utente"])){

    echo "Bentornato " . $_COOKIE["utente"];

}else{

    echo "Benvenuto visitatore";

}

?>

Eliminare un cookie

Per eliminare un cookie basta impostare una data di scadenza nel passato.

Esempio

<?php

setcookie("utente", "", time() - 3600);

?>

In questo modo il browser cancellerà il cookie.


Esempio pratico

Un esempio comune è ricordare il nome dell’utente.

<?php

setcookie("nome", "Paolo", time() + 86400);

?>

Alla visita successiva possiamo leggere il cookie:

<?php

if(isset($_COOKIE["nome"])){

    echo "Bentornato " . $_COOKIE["nome"];

}

?>

Differenza tra COOKIE e SESSION

Caratteristica COOKIE SESSION
Dove vengono salvati Browser Server
Sicurezza Minore Maggiore
Durata Può essere lunga Termina alla chiusura o logout
Uso tipico Preferenze utente Login e dati sensibili

Quando usare i cookie

I cookie sono utili quando vogliamo:


Attenzione alla sicurezza

Poiché i cookie vengono salvati nel browser, l’utente può modificarli.
Per questo motivo non è consigliato salvare nei cookie:


Conclusione

La variabile $_COOKIE permette di memorizzare informazioni nel browser dell’utente e recuperarle nelle visite successive. È uno strumento molto utile per migliorare l’esperienza dell’utente e personalizzare il comportamento di un sito web. 🚀