par
Alf?> » 15 août 2011, 13:20
Salut jeromus30,
Il va te falloir jouer avec les SESSIONs et le SQL.
Pour bloquer la page admin aux 'membres', tu dois faire passer un paramètre SESSION contenant :
le status de la personne connecté.
Pour se faire il faut vérifié que la personne et loggé sur le site, ensuite si elle a le status d'admin.
On commence par ajouter les variable de SESSION quand la personne de connecte
Avant tout on démarre la session :
session_start();
Puis, dans la page de connexion (avec les champs identifiant et mot de passe) on commence remplir une variable SESSION.
//$login fait référence à l'identifiant lors de la phase de traitement de vérification de connexion
$sql = mysql_query("SELECT * FROM user WHERE login_user = '$login';") or die(mysql_error());
$ligne = mysql_fetch_array($sql);
//On place l'ID de la personne conecté dans une variable SESSION qui s'appelle 'ID'
$_SESSION['id'] = $ligne['id_user'];
$_SESSION['status'] = $ligne['status'];
Ensuite on réutilise cette variable session :
//Si la personne est loggée et qu'elle existe alors...
if(isset($_SESSION['id']) && (!empty($_SESSION['id']))
{
if($_SESSION['status'] == 0)
{
/*AFFICHAGE DU MENU ADMIN*/
}
else
{
/*AFFICHAGE DU MENU CLASSIQUE*/
}
}
Pour finir sur la page qui contient toute l'administration tu dois vérifier si c'est bien un admin qui souhaite l'atteindre
//Si la personne est loggée et qu'elle existe alors...
if(isset($_SESSION['id']) && (!empty($_SESSION['id']))
{
if($_SESSION['status'] != 0)
{
//On renvoi la personne à l'index principal
header('Location:./');
}
}
else
{
//On renvoi la personne à l'index principal
header('Location:./');
}
Attention, petit rappel : La fonction session_start() doit être appelé a chaque fois que tu utiliseras des variables de SESSION dans tes pages !
Si t'as des questions je te conseil de voir les tutos sur les SESSIONs.
Note : Il est possible de faire tous ces traitement avec des coockies -->
http://www.phpfrance.com/tutoriaux/inde ... es-cookies 
.