Gestione sessioni

Gianni31

Nuovo Utente
29 Nov 2009
11
0
0
Salve
devo realizzare un sito con due livelli di autorizzazione . Mi spiego meglio con un esempio:
gli utenti di livello 1 possono visualizzare le pagine A e B
gli utenti di livello 2 possono visualizzare le pagine A, B, C, D
Quando gli utenti effettuano il login controllo su un database SQL l'autorizzazione all'accesso e apro una sessione PHP.
E' possibile bloccare la visualizzazione delle pagine C e D agli utenti di tipo 1 utilizzando le variabili di sessione e non con un normale controllo del livello sul database da effettuare all'inizio di ogni pagina?
Ovviamente non vorrei duplicare le pagine o fare due punti differenti di login.
 
Al login basta salvare in una sessione un array serializzato contenente tutti i dati dell'utente, compreso il livello di autorizzazione, e se è 1 visualizzi A e B, se è 2 visualizzi C, D e le pagine del livello 1.
 
La sessione ora è :

<?session_start();
include("../connessione.inc.php");
$myusername=$_POST['ob_username'];
$mypassword=MD5($_POST['ob_password']);
$sql="SELECT * FROM staff WHERE ob_username='$myusername' and ob_password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1)
{
$_SESSION['username'] = $myusername;
$_SESSION['password'] = $mypassword;


Se ho capito dovrei aggiungere $_session['livello']=,,,,,,, ( livello estratto da database) e controllare con un if questa variabile nelle pagine interessate. E' corretto?

Ti ringrazio
ciao
 
mettiamo che l'utente sia di livello 1 e ci troviamo nella pagina C dove non può entrare:
PHP:
<?php
session_start();
if ($_session['livello']!=2)
{
header('Location: pagina_a.php');
}
 

Discussioni simili