Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 63 di 67
  • livello intermedio
Indice lezioni

Mantenere lo stato: le sessioni

Mantenere in memoria le credenziali di un utente attraverso le sessioni
Mantenere in memoria le credenziali di un utente attraverso le sessioni
Link copiato negli appunti

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;

per assicurarci che la variabile di sessione 'nome' abbia il valore assegnato, e che questo valore sia specifico per l'utente che ha appena eseguito la pagina che contiene il codice.

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.

Ti consigliamo anche