Esercizi sui cookies

  1. Crea una pagina e sperimenta le istruzioni sottostanti, quindi... (esempio)
  2. Crea una pagina che si presenterà in questo modo: "Ciao, io sono il server Osvaldo, al tuo servizio, e sono qui per ricordarti quante volte hai visitato questa pagina!"
  3. Quindi Osvaldo crea un cookie, inserisce il valore 1 e dice: "Vedo che sei entrato per la prima volta"
  4. Se Osvaldo si accorge che hai già visitato la pagina, aumenta il tuo contatore nelle visite e ti avvisa "Questa è la x volta che ti vedo. Mi fa molto piacere!"
  5. Dopo la decima volta comunque Osvaldo è un po' seccato e comincia a rispondere: "Sei passato di qui un po' troppe volte... non hai proprio di meglio da fare?"
  6. Dalla ventesima volta in poi chiude ogni comunicazione: "mi sembra che ormai tu abbia capito... non è che puoi andare a fare qualche altro esercizio?"
  7. Ora modifica la storiella di prima per fargli dire qualcosa di divertente! :D

Cosa sono i cookies?

Avete mai visto nelle pagine web scritte del tipo "questa pagina utilizza dei cookies per migliorare il servizio?"

Un cookie, in italiano biscotto, è composto da una coppia chiave/valore che viene salvata nel client. Senza i cookie non potrebbero esistere facebook e nessun sito serio perché i siti non hanno memoria.
Il server, per ricordare chi sei, invia al tuo browser un codice e poi lo richeiede ogni volta che viene chiesta una pagina. Se il server trova il cookie allora l'utente è già stato nel sito, altrimenti no.
Se ci pensate se siete loggati su facebook su chrome e poi tentate di accedervi da firefox, dovete reinserire login e password. Quindi i cookies sono salvati a livello di browser e non di computer.
Inoltre in alcuni siti compare la spunta "salva password" e sapete che selezionando quella voce poi non dovete più reinserire la password la prossima volta. Queste perché nei cookie è possibile definire una scadenza. Possono durare finché non si chiude il browser, fino ad una data precisa o non avere scadenza. A voi programmatori la scelta.

    // setcookie imposta un cookie
    setcookie(nome, valore, scadenza, percorso, dominio); 
    // Imposta un cookie di nome utente, con il valore "12" che avrà una durata di 1 giorno (86400 secondi) 
    setcookie("utente","12",time() + 86400, "/");

setcookie va utilizzato prima del tag <html>. Lo so. Non leggerai questa riga quindi chiederai al prof: perché non va? Uff...

Per leggere il valore di un cookie si utilizza l'array associativo $_COOKIE[] come si utilizza $_REQUEST per i valori inviati alla pagina

    echo $_COOKIE["utente"]; // Stamperà 12

Per verificare che un cookie esista si utilizza isset()

    if (isset($_COOKIE["utente"])) {echo "Esiste!"};

Per cancellare un cookie o eliminarne il valore si riutilizza la funzione setcookie e si assegna un tempo negativo, come per dire al browser: "è scaduto, cancellalo!"

    setcookie("utente", '', time() - 3600); // data di scadenza: un'ora fa!

setcookie si può utilizzare anche per modificare un valore esistente.

    // Imposta un cookie di nome utente, con il valore "15" che avrà una durata di 1 giorno (86400 secondi) 
    setcookie("utente","15",time() + 86400, "/");

Non c'è molto si più! Ora divertiti a salvare nel browser di chi navigherà nel tuo sito informazioni che potrai ripescare in un secondo momento.

Puoi trovare ulteriori esempi e maggiori dettagli in questa o questa pagina di w3schools e sul tuo libro di testo.