[PHP] Charger un menu en fonction d'un lien
kAAz
Messages postés
1
Statut
Membre
-
benj -
benj -
Bonjour,
je développe actuellement une petite interface admin/client et je bloque sur un problème.
Dans ma page administration j'ai un premier menu horizontal (qui fonctionne très bien) qui compte comme lien :
- accueil
- client
- responsable
Puis j'ai un second menu vertical qui doit se charger en fonction du lien cliqué précédemment.
Par exemple si je clique sur mon premier menu "client" mon menu vertical comportera comme item:
- ajouter client
- modifier clients
- ...
Il est de même si je choisis le lien "responsable" mon menu vertical sera composé cette fois de :
-ajouter responsable
- ...
Voici le code actuel :
Merci d'avance pou votre aide
je développe actuellement une petite interface admin/client et je bloque sur un problème.
Dans ma page administration j'ai un premier menu horizontal (qui fonctionne très bien) qui compte comme lien :
- accueil
- client
- responsable
Puis j'ai un second menu vertical qui doit se charger en fonction du lien cliqué précédemment.
Par exemple si je clique sur mon premier menu "client" mon menu vertical comportera comme item:
- ajouter client
- modifier clients
- ...
Il est de même si je choisis le lien "responsable" mon menu vertical sera composé cette fois de :
-ajouter responsable
- ...
Voici le code actuel :
<div id="page">
<div id="header">
<h1>
<span>Administration</span>
</h1>
</div><!-- #header -->
<div id="navbar"><!-- mon menu horizontal qui affiche le résultat dans le bloc content
<ul>
<li><a href="index.php?page=accueil">Accueil</a></li>
<li><a href="index.php?page=client">Client</a></li>
<li><a href="index.php?page=responsable">Responsable</a></li>
</ul>
</div><!-- #navbar -->
<div id="centre">
<div id="sidebar">
<!-- menu verical -->
</div><!-- #sidebar -->
<div id="content">
<?php
// Tableau des fichiers à importer
$arrayPages = array(
'accueil' => 'accueil.php',
'client' => 'client.php',
'responsable' => 'responsable.php'
);
// La variable $page existe-elle dans l'url ?
if(!empty($_GET['page']))
{
// Vérification de la valeur passée dans l'url : est-elle une clé du tableau ?
if(array_key_exists(strtolower($_GET['page']), $arrayPages))
{
// Oui, alors on l'importe
include( $arrayPages[ strtolower($_GET['page']) ] );
}
else
{
// Non, alors on importe un fichier par défaut
include('redirection.php');
}
}
else
{
// Non, on affiche la page d'accueil par défaut
include( $arrayPages['accueil']);
}
?>
</div><!-- #content -->
</div><!-- #centre -->
</div><!-- #page -->
Merci d'avance pou votre aide
A voir également:
- [PHP] Charger un menu en fonction d'un lien
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Fonction si et - Guide
- Menu déroulant excel - Guide
- Verificateur de lien - Guide
1 réponse
Bonsoir,
Ce que je peux te conseiller :
voilà un exemple de ce que tu peux faire en modifiant un peut ce code, je ne suis pas spécialiste des commentaires... et le code est relativement simple. je ne l'ai pas testé non plus il peut donc y avoir des erreurs de frappe mais c'est déjà une première réponse.
Ce que je peux te conseiller :
<!--feuille1-->
<!-- MenuPrincipal -->
<div>
<a href="./tapage.php?page=1">1</a>
<a href="./tapage.php?page=2">2</a>
<a href="./tapage.php?page=3">3</a>
</div>
<?php
if(isset($_GET['page'])){
$page = htmlentities($_GET['page']);
if (file_exist('./'.$page.'.php')) include('./'.$page.'.php');
}
else include('./defaut.php');
?>
<!--feuille2 sous muenu -->
<div>
<a href="./tapage.php?page=<?php echo $page; ?>&part=1">menu1</a>
<a href="./tapage.php?page=<?php echo $page; ?>&part=2">menu2</a>
<a href="./tapage.php?page=<?php echo $page; ?>&part=3">menu3</a>
</div>
<?php
if(isset($_GET['part'])){
$part = htmlentities($_GET['part']);
if (file_exist('./'.$part.'.php')) include('./'.$part.'.php');
}
else include('./defaut.php');
?>
<!--feuille 3 partie à afficher -->
<!-- là tu met ce que tu veux ->
voilà un exemple de ce que tu peux faire en modifiant un peut ce code, je ne suis pas spécialiste des commentaires... et le code est relativement simple. je ne l'ai pas testé non plus il peut donc y avoir des erreurs de frappe mais c'est déjà une première réponse.