Vi parleremo in questo capitolo dei cookie e di una loro variante del php ossia le sessioni.

 

Un cookie è una coppia nome/valore associata a un determinato sito Web e archiviata sul computer che esegue il cient. Una volta che viene impostato da un sito Web, tutte le successive richieste allo stesso sito includeranno il cookie, finche’ lo stesso non scade

 

I Cookie Session di PHP

Il Ciclo di Vita di un cookie puo’ essere indicato nei seguenti passi

  1. Per prima cosa un browser web richiede un Url che corrisponde allo script PHP, in tale script si trova una chiamata alla funzine setcookie, integrata in Php
  2. La pagina prodotta dallo script php è inviata al browser , insieme all’header http setcookie che contiene la coppia nome e valore del cookie da creare.
  3. Quando riceve l‘heder http, il browser crea e archivia il valore specificato come un cookie chiamato mycookie.
  4. Le successive richieste di pagina a quel sito Web contengono l’header http cookie, che invia la coppia nome/valore allo script richiesto.
  5. Come risposta a una richiesta di pagina con un header per un cookie, php crea automaticamente un record nell’array $_cookie con il nome del cookie stesso e il suo valore

 

Vediamo subito qualche esempio. Per impostare un cookie che scada fra un ora si aggiunge 3600 perche’ il conteggio è in minuti. Quindi per impostare un cookie che scada fra un anno dovremmo scrivere

 

setcookie('mycookie', 'somevalue', time() + 3600 *24*365);

e per eliminarlo analogamente si ha

setcookie('mycookie, '', time() - 3600 *24*365);

Con l’avvertenza che i cookie vengono memorizzati nell’index.dat del computer ospitante quindi una volta che si sarà proceduto a tale cancellazione il suo valore verrà cmq perso.

Per verificare se un cookie è presente o meno nel computer che lo ospita si fa

if (!isset($_COOKIE['nome_cookie'])) {

echo ' cookie presente';

}

e per richiamarlo basterà fare

 

$_cookie['nome_cookie']= <valore> ;

ed il gioco è fatto , tutto improntato alla massima semplicità come il linguaggio php richiede.

 

Vi parliamo adesso delle sessioni o cookie session come si dice in genere, in quanto si tratta anche questa volta di cookie che pero’, invece di essere memorizzati nel vostro index.dat vengono memorizzati nel vostro browser che state utilizzando

per aprire una sessione di questi cookie si fa

session_start();

e per immagazzinare un valore si fa.

$_SESSIONE['pwd']='valoreimmesso';

e per rimuovere si fa

unset($_SESSION['pwd']);

ed infine per distruggere una sessione si utilizza la seguente sintassi.

$_SESSION= array();

session_destroy();

e per verificare se un cookie session è stato avviato si ricorre alla seguente sintassi.

session_start();

if (!isset($_SESSION['cart'])) {

$_SESSION['cart']=array();

}

 

ovviamente la grande utilità dei cookie session è quella di permettere di potere utilizzare informazioni passandole da una pagina all’altra senza dover ricorrere alla loro memorizzazione in dispositivi fisici come invece accade nei cookie normali e nei database