Creare un area riservata in PHP con l'uso delle sessioni

Creare un area riservata in PHP con l’uso delle sessioni

Ogni webdesigner prima o poi si troverà ad affrontare la creazione di un area riservata per i suoi utenti.

Per questo motivo è necessario sapersi destreggiare con le sessioni di PHP.

Quando si usano le sessioni, PHP non fa altro che salvare un cookie sul pc del client contenente l’ID di sessione, proprio per questo motivo è consigliabile che il proprio browser abbia i cookie abilitati per utilizzarle.

Spiegherò brevemente i concetti base per la creazione di un area riservata in PHP facendo uso delle sessioni.

Creiamo 3 file php (login.php, admin.php, logout.php):

login.php (riceve i dati dal form e li elabora per poi mandarli ad admin.php)
admin.php (pannello di amministrazione a cui un utente accede una volta loggato)
logout.php (permette la disconnessione)

Spieghiamo le varie istruzioni

session_start();
Deve essere inserita in ogni file che vogliamo proteggere da accessi non autorizzati e consiste nel creare un identificativo di sessione e mantenerlo. E’ importantissimo inserirla prima di ogni istruzione HTML

$_SESSION[‘nomevariabile’];
crea una variabile globale di sessione che potrà essere utilizzata in ogni file.

session_unset();
Distrugge le variabile nella sessione.

session_destroy();
Funzione che distrugge una sessione.

dettaglio del codice di login.php

[php]

[/php]

Questo insieme di istruzioni non fa altro che verificare i parametri inseriti dall’utente e confrontarli con i dati esatti. Qualora siano esatti allora setto le variabili di sessione $_SESSION[“username”], $_SESSION[“password”], $_SESSION[“autorized”] e ridireziono il browser nella pagina riservata, in caso contrario setto $_SESSION[“autorized”] a 0 e non saremo autorizzati a visualizzare le pagine protette. Il codice Javascript è utile per mostrare un messaggio di errore all’utente. Le variabili di sessione le possiamo utilizzare in ogni pagina protetta semplicemente utilizzando l’istruzione echo $_SESSION[“username”]; (es. Benvenuto <?php echo $_SESSION[“username”];?>)

dettaglio del codice di admin.php

[php]

[/php]

Questa istruzione inserita nella pagina di admin controlla se sei autorizzato oppure no a visualizzare la pagina, verificando se è settata la variabile di sessione $_SESSION[“autorized”], altrimenti rimanda alla pagina di login.

dettaglio del codice di logout.php

[php]

[/php]

Questo insieme di istruzioni non fa altro che distruggere la sessione nel caso in cui l’utente richiami la pagina logout.php passando il valore logout=1 (es logout.php?logout=1)

Con queste brevi istruzioni avremo un sistema protetto per gestire le aree riservate. L’importante è ricordarsi di inserire l’istruzione session_start(); in ogni file che utilizza le sessioni e prima di ogni riga html di codice.

Alla prossima