Utilizzo dei Cookie per il Salvataggio delle Preferenze di Tema

by theArchitect
SHARE
Utilizzo dei Cookie per il Salvataggio delle Preferenze di Tema
© Guida-HTML5.it

Introduzione

I cookie sono uno strumento fondamentale per la gestione delle preferenze utente nelle applicazioni web. In questo tutorial, ci concentreremo su come utilizzare i cookie per salvare le preferenze di tema (chiaro o scuro) di un utente. Questo approccio migliora l´esperienza utente, poiché consente di mantenere le impostazioni anche dopo il riavvio del browser o il ritorno sul sito in un secondo momento.

Codice completo

Di seguito è riportato un esempio completo di come implementare la funzionalità di salvataggio delle preferenze di tema utilizzando i cookie in PHP.

<?php
// Funzione per impostare un cookie
function setThemeCookie($theme) {
    // Imposta il cookie ´theme´ che scade dopo 30 giorni
    setcookie(´theme´, $theme, time() + (30 * 24 * 60 * 60), "/");
}

// Controlla se il modulo è stato inviato
if ($_SERVER[´REQUEST_METHOD´] === ´POST´) {
    // Recupera il tema selezionato dall´utente
    $selectedTheme = $_POST[´theme´];
    // Imposta il cookie con il tema selezionato
    setThemeCookie($selectedTheme);
}

// Recupera il tema dal cookie se esiste
$theme = isset($_COOKIE[´theme´]) ? $_COOKIE[´theme´] : ´light´; // Tema di default

?>

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Seleziona Tema</title>
    <style>
        body.light {
            background-color: #ffffff;
            color: #000000;
        }
        body.dark {
            background-color: #000000;
            color: #ffffff;
        }
    </style>
</head>
<body class="<?php echo $theme; ?>"

Spiegazione

Nel codice fornito, abbiamo una funzione chiamata setThemeCookie che imposta un cookie chiamato theme con il valore del tema selezionato dall´utente. Questo cookie scade dopo 30 giorni. La funzione setcookie è utilizzata per creare il cookie e richiede quattro parametri: il nome del cookie, il valore, la scadenza e il percorso.

Quando l´utente invia il modulo, il tema selezionato viene recuperato e passato alla funzione setThemeCookie. Successivamente, verifichiamo se il cookie theme esiste già. Se esiste, il suo valore viene utilizzato per impostare il tema della pagina; altrimenti, impostiamo un tema di default (chiaro).

Infine, il tema selezionato viene applicato al tag body della pagina, permettendo di cambiare dinamicamente lo stile in base alla preferenza dell´utente.

Best practice

  • Limitare la durata dei cookie: Imposta una scadenza ragionevole per i cookie, in modo che non rimangano attivi indefinitamente.
  • Usare HTTPS: Assicurati che il tuo sito utilizzi HTTPS per proteggere i cookie durante il trasferimento.
  • Limitare l´accesso ai cookie: Utilizza il flag HttpOnly per impedire l´accesso ai cookie tramite JavaScript e Secure per inviarli solo su connessioni sicure.
  • Gestire le preferenze utente: Offri sempre un modo per gli utenti di cambiare le loro preferenze in qualsiasi momento.

Riepilogo

In questo tutorial, abbiamo esplorato come utilizzare i cookie in PHP per salvare le preferenze di tema degli utenti. Abbiamo implementato un semplice sistema che consente agli utenti di scegliere tra un tema chiaro e uno scuro, mantenendo la loro scelta anche dopo aver chiuso il browser. L´uso dei cookie per gestire le preferenze utente è una pratica comune che migliora l´esperienza complessiva dell´utente.

Approfondisci con risorse ufficiali

SHARE