Quando fai un area di login, avrai un input di inserimento dati username e password, questa usernam e password saranno salvati nella tabella utente di Sql, nella tabella utente tu puoi inserire oltre username e password tutti i dati di registrazione quindi puoi avere una tabella :
id, username, password, profilo, nome, cognome, etc...etc...
quando l'utente inserisce i dati username e password tu aprirari la connessione al DB e controllerai che esista lo username con quella password se l'utente esiste aprirai una SESSION_START() ad inizio pagina(in tutte le pagine dell'area di login) in questa session start che metti ad inizio file, puoi alimentarla con tutti i campi relativi a quell'utente loggato, quindi la logica è quando ho controllato che l'utente e la password sono corrette dico al parse SESSION_START() il che vuol dire parte la sessione, poi dovrò dirgli quali dati voglio dentro la sessione, il modo migliore, a mio avviso è inserire in un array i tuoi dati che vuoi recuperare, che sono i dati che hai innanzi tutto nella tabella per quel determinato utente...Un esempio sarebbe:
Codice PHP:
session_start();
//ESEGUO TUTTI I CONTROLLI DI INSERIMENTO USERNAME E PASSOWORD, SE L'UTENTE ESISTE PASSO SOTTO.....
//.......
//qui ho già cntrollato che l'utente esiste e la pass è giusta allora cosa faccio, inserisco nell'array i dati che voglio
//ricavare per quella sessione, in questo caso $idUtente cioè $_POST['idUtente'] username $_POST['username']
//etc..etc...
$datiUtente = array('idUtente'=>$idUtente,
'username'=>$username,
'profilo'=>$profilo);
//inserisco l'array nella sessione....la mia sessione è attiva
$_SESSION['datiUtente']=$datiUtente;
Per riprendere i valori ovviamente in tutte le pagine di login dovrò aprire la sessione ad inizio file, e mi basterà scrivere:
Codice PHP:
session_start();
//imposto $datiutente per il recupero dei dati
$datiUtente = $_SESSION['datiUtente'];
//in questo caso recupero il profilo che ho inserito prima nell'array
$profilo = $datiUtente['profilo'];
//se volessi l'id
$id = $datiUtente['idUtente'];
//etc...etc....
Nel tuo caso le possibilità sono due, o nella tabella di Sql inserisci un campo profilo amministratore o utente o pincopallo e poi nel tuo codice inserirai
Codice PHP:
sessione_start();
$datiUtente=$_SESSION['datiUtente'];
if ($datiUtente['profilo'] == "amministratore"){
//fai questo codice
}
elseif ($datiUtente['profilo'] == "utente"){
//fai questo codice
}
else{
//Non sei abilitato
}
Oppure recuperndo l'id delle utente ed avendo ovviamente in tabella Sql le tue utenze puoi inserire un array di utenze ed abilitare le funzionalità nell'array, perchè questo?Mettiamo caso tu hai degli amministratori ma vuoi abilitare un utente particolare ad avere determinate funzioni, ma solo quell'utente e non tutti gli altri utenti, ti serve un array....Quindi un'altra possibile alternativa è:
Codice PHP:
session_start();
$datiUtente=$_SESSION['datiUtente'];
//Queste sono gli id abilitati alle funzionalità, puoi anche fare un file che chiami abilitazioni e lo includi nelle pagine che ti servono
$abilitazioni = array{1,2,3,4,5,6,7,8};
//adesso ovviamente recuperi l'id
$idUtente = $datiUtente['idUtente'];
//adesso permetti le funzionali a quell'id se appartiene all'array abilitazioni...quindi:
if (in_array($idUtente, $abilitazioni)){
//l'id è abilitato a queste funzionalità
}
else{
//tutti gli altri id che non appartengono all'array
}
Ps:Nelle pagine di login avvenuto devi ricordarti di mettere sempre un check_login altrimenti saranno visibili esempio:
Codice PHP:
$session_start();
if (!isset($_SESSION['datiUtente'])) {
echo('Non sei loggato, devi prima effettuare il Login per vedere queste pagine' . '<br>');
exit ;//IMPORTANTE EXIT ALTRIMENTI NON SI BLOCCA
}
Ciao spero sia utile....