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.