Afficher lien uniquement si session ouverte
Résolu
alexbigfoug
-
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à toutes et tous !!!
Bon voilà mon petit soucis, j'ai créer sur mon site des sessions, avec différente accès un pour les admins et un pour les utilisateurs.
Sur ma page principal je souhaiterais mettre un petit lien "panneau administration" et celui-ci ne devras etre visible uniquement par les admins...
Je vais vous montrer ce que j'ai fait (cela fonctionne mais il y a des erreurs):
Sur ma page principal, dans mon code j'ai:
<?php include('liens_cache/lien_administration.php')?> c'est ce lien que je veux protéger (visible par les admins, invisible pour les autres)
Et voici la protection de la page:
https://imageshack.com/
JE vous remercie d'avance de vos conseil^^
Bon voilà mon petit soucis, j'ai créer sur mon site des sessions, avec différente accès un pour les admins et un pour les utilisateurs.
Sur ma page principal je souhaiterais mettre un petit lien "panneau administration" et celui-ci ne devras etre visible uniquement par les admins...
Je vais vous montrer ce que j'ai fait (cela fonctionne mais il y a des erreurs):
Sur ma page principal, dans mon code j'ai:
<?php include('liens_cache/lien_administration.php')?> c'est ce lien que je veux protéger (visible par les admins, invisible pour les autres)
Et voici la protection de la page:
https://imageshack.com/
JE vous remercie d'avance de vos conseil^^
A voir également:
- Afficher lien uniquement si session ouverte
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Verificateur de lien - Guide
- Afficher appdata - Guide
- Lien mega ✓ - Forum Webmastering
10 réponses
quand tu ouvres la sessions, tu crées uen variable $_SESSION['statut'] = 'administrateur' poru les admins....
ensuite, tu fais
ensuite, tu fais
<?php if ($_SESSION['statut'] =='administrateur') include('liens_cache/lien_administration.php') ?>
dsl, j'avais pas regardé l'image ...
tu sais, quand t'as du code source à montrer, le mieux c'est de le poster ici ;)
donc, lorsque la personne se conencte, tu vas faire un petit $_SESSION['categorie'] = $tab['categorie'];
comme ca tu aura toujours la catégorie de l'utilisateur dans sa session (pas la peine d'appeller la base de données à chaque page)
et ensuite, si il y a des choses qui sont faites juste pour les administrateurs, tu fais
if ($_SESSION['categorie'] =='administrateur')
include('liens_cache/lien_administration.php')
tu sais, quand t'as du code source à montrer, le mieux c'est de le poster ici ;)
donc, lorsque la personne se conencte, tu vas faire un petit $_SESSION['categorie'] = $tab['categorie'];
comme ca tu aura toujours la catégorie de l'utilisateur dans sa session (pas la peine d'appeller la base de données à chaque page)
et ensuite, si il y a des choses qui sont faites juste pour les administrateurs, tu fais
if ($_SESSION['categorie'] =='administrateur')
include('liens_cache/lien_administration.php')
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai essayé vite fait (en douce^^)
et je recois comme erreur
Undefined variable: _SESSION in C:\wamp\www\Site_internet\barre_menu_gauche.php on line 48
et je recois comme erreur
Undefined variable: _SESSION in C:\wamp\www\Site_internet\barre_menu_gauche.php on line 48
Finalement, j'ai un peu changé mes plans...
(je vais me répéter un peu désolé...)
J'ai une page index (tous le monde dois y avoir accès)
-->dans cette page index j'ai un include barre_menu_gauche
--> et là dans l'include barre_menu_gauche j'ai un lien qui va à la page administration
ce lien dois etre visible par les admins uniquement
donc voilà le code pour cacher le lien (je n'ai plus d'erreur mais cela ne fonctionne toujours pas...)
<?php
mysql_connect("localhost", "XXXXX", "XXXXX") OR die('Erreur de connexion');
mysql_select_db("XXXXX") OR die('Erreur de sélection de la base');
$sql = mysql_query("SELECT login, categorie FROM membre ");
$tab = mysql_fetch_array($sql);
$_SESSION['categorie'] = $tab['categorie'];
if ($_SESSION['categorie'] =='administrateur')
{
echo'<a href="administration.php">'; echo'panneau d\'administration'; echo '</a>';
}
?>
Voilà, je pense que je me suis un peu emmelés les pinceaux...
(je vais me répéter un peu désolé...)
J'ai une page index (tous le monde dois y avoir accès)
-->dans cette page index j'ai un include barre_menu_gauche
--> et là dans l'include barre_menu_gauche j'ai un lien qui va à la page administration
ce lien dois etre visible par les admins uniquement
donc voilà le code pour cacher le lien (je n'ai plus d'erreur mais cela ne fonctionne toujours pas...)
<?php
mysql_connect("localhost", "XXXXX", "XXXXX") OR die('Erreur de connexion');
mysql_select_db("XXXXX") OR die('Erreur de sélection de la base');
$sql = mysql_query("SELECT login, categorie FROM membre ");
$tab = mysql_fetch_array($sql);
$_SESSION['categorie'] = $tab['categorie'];
if ($_SESSION['categorie'] =='administrateur')
{
echo'<a href="administration.php">'; echo'panneau d\'administration'; echo '</a>';
}
?>
Voilà, je pense que je me suis un peu emmelés les pinceaux...
Après une bonne heure de recherche, voici la solution !!!
<?php
mysql_connect("localhost", "XXXXX", "XXXXXX") OR die('Erreur de connexion');
mysql_select_db("XXXXXX") OR die('Erreur de sélection de la base');
$sql = mysql_query("SELECT login, categorie FROM membre ");
$tab = mysql_fetch_array($sql);
if ((isset($_SESSION['login'])) and ( $tab['categorie']=='administrateur'))
{
echo'<a href="administration.php">'; echo'panneau d\'administration'; echo '</a>';
}
?>
<?php
mysql_connect("localhost", "XXXXX", "XXXXXX") OR die('Erreur de connexion');
mysql_select_db("XXXXXX") OR die('Erreur de sélection de la base');
$sql = mysql_query("SELECT login, categorie FROM membre ");
$tab = mysql_fetch_array($sql);
if ((isset($_SESSION['login'])) and ( $tab['categorie']=='administrateur'))
{
echo'<a href="administration.php">'; echo'panneau d\'administration'; echo '</a>';
}
?>