Utilizzare le sessioni in PHP
- Gennaio 11, 2010
- by
- Donatantonio
Descriveremo brevemente le diverse funzioni che entrano in gioco nella gestione delle sessioni in linguaggio PHP.
Innanzitutto è necessario dar vita ad una sessione.
Imposto il tempo di vita (espresso in secondi) della sessione e il dominio di appartenenza delle variabili di sessione.
Il valore 0 come tempo di vita, indica che la sessione resta attiva senza scadenza di tempo, bensì solo la chiusura della connessione (o del browser) la fanno terminare.
session_set_cookie_params (30*60, "/", ".dominio.it"); session_start();
Imposto una variabile di sessione.
$_SESSION['nome_utente']='Fabio Donatantonio';
Distruggo la sessione e quindi cancello le variabili immagazzinate.
session_destroy();
In alternativa è possibile cancellare una singola variabile di sessione.
unset($_SESSION['nome_utente']);
In conclusione vediamo uno script completo che utilizza le sessioni, il quale simula l’accesso di un utente ad un’area privata. La prima pagine è login.php.
<?php // Prelevo user e password $user = $_POST['user']; $password = $_POST['password']; // Effettuo un controllo in database o file e setto la variabile 'controllo' a true o false if($controllo == true){ // Utente autorizzato... creo la sessione session_set_cookie_params (0, "/", ".donatantonio.it"); session_start(); // Creo le variabili di sessione $_SESSION['utente'] = $user; $_SESSION['data_accesso'] = date('d-m-Y')." ".date('G:i'); // Reindirizzo verso una pagina protetta 'menu.php' descritta dopo header('Location:menu.php'); }else{ // Utente non autorizzato all'accesso... header('Location:login.php'); } ?>
Descriviamo infine la pagina menu.php dove viene effettuato un controllo di avvenuto accesso.
session_set_cookie_params(0, "/", ".donatantonio.it"); session_start(); if(!isset($_SESSION['utente'])){ // Variabile di sessione non presente... quindi login non avvenuto... header('Location:login.php'); }else{ // Utente correttamente loggato in precedenza... }