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
 session_start();
if (isset($_REQUEST["username"]) && (isset($_REQUEST["pass"])))
	{
		$username=$_REQUEST["username"];
		$password=$_REQUEST["pass"];
		if (($username=="iltuouser")&&($password=="latuapass"))
		{
			$_SESSION["username"]=$username;
			$_SESSION["password"]=$password;
			$_SESSION["autorized"]=1;
			Header("Location:admin.php");
			exit;
		}
		else{
			$_SESSION["autorized"]=0; //errore e quindi autorizzazione negata
		}
	}
?>

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
 session_start();
 if($_SESSION["autorized"]==0)
 {
    Header( "Location:login.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
session_start();
if($_REQUEST['logout']==1)
{
 $_SESSION=array(); // Desetta tutte le variabili di sessione.
 session_destroy(); //DISTRUGGE la sessione.
 header("Location: login.php"); //si ricarica la pagina di login
 exit; //si termina lo script in modo da ritornare alla schermata di login
}
?>

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

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Creare un area riservata in PHP con l'uso delle sessioni, 10.0 out of 10 based on 1 rating

POST CORRELATI: