Le sessioni permettono anch'esse di mantenere informazioni relative all'utente tra le varie pagine navigate, ma rispetto ai cookie danno la possibilità di salvare arbitrari tipi di dato (non solo stringhe e numeri) e, se PHP è impostato correttamente, di non preoccuparsi dell'identificazione dell'utente.
Quando un utente accede per la prima volta ad una pagina PHP impostata per creare una sessione, a questi viene associato un ID univoco che verrà utilizzato da PHP come chiave per recuperare l'array
$_SESSION
salvato specificamente per il determinato utente. L'ID è un codice
univoco che, al momento della creazione della sessione, viene salvato
automaticamente da PHP all'interno di un cookie oppure, se i cookie
risultano disabilitati, accodato agli URL relativi generati dallo script
PHP.
In questo modo il programmatore può occuparsi solamente di inizializzare la sessione e salvare i propri dati. Ovviamente questo comportamento può essere controllato attraverso le impostazioni del file
php.ini
; potrebbe capitare quindi che il passaggio
automatico dell'ID di sessione attraverso gli URL relativi non sia
abilitato. In questo caso PHP ci viene incontro generando una costante
chiamata SID
che contiene la chiave di sessione preceduta
dal nome. Basta accodare questa costante ai nostri URL per avere un
sistema perfettamente funzionante.
L'inizializzazione di una sessione, come già accennato, viene fatta automaticamente da PHP. A noi basterà scrivere:
$_SESSION['nome'] = $valore;
Non mi addentro nel dettaglio, e vi lascio alla lettura degli articoli di HTML.it, dedicati sia alle sessioni sia ai cookie, che trattano l'argomento in modo molto approfondito.
Le sessioni sono un argomento a prima vista molto semplice, ma spesso ci si trova in situazioni nelle quali è necessario controllare completamente il comportamento dei processi di salvataggio, lettura, creazione e distruzione delle sessioni. A questo scopo ci vengono in aiuto una serie di configurazioni del file
php.ini
ed una
serie di funzioni aggiuntive che, anche se non tratterò in questa guida
base, consiglio caldamente di studiare ed analizzare.
0 commenti:
Posta un commento
Proponi un'idea, segnalaci un problema.
Entra a far parte di CS3, pubblica i tuoi articoli.
Scrivi un commento!