Un lien défini mais ça affiche autre page
masterfree59 Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai fait un site de A à Z et suis actuellement en train de le peaufiner (jlb59)
Un petit problème est survenu sans que je sache d'où ça vient.
Je mets en PJ la capture de ce qui se passe et ci-dessous les codes.
Impossible de savoir pourquoi c'est une autre page qui s'affiche ????
Merci de m'apporter votre aide.
INDEX.PHP
<?php /* index.php */ /* On détermine quelle page est appelée */ $page = (isset($_GET['page'])) ? $_GET['page'] : 'accueil'; /* on crée du contenu */ $aContenu = array( 'accueil' => "Bienvenue chez QI98.", 'apropos' => "A propos", 'historique' => "Historique.", 'mentions' => "Mentions légales", 'plan-acces' => "Plan d'accès", 'contact' => "Nous contactez", 'contact-ctrl' => "Controle du contact", 'grand_test' => "Test général.", 'erreur-404' => "Page introuvable. Elle a été supprimée ou n'existe pas encore." ); /* On initialise les variables nécessaires dans les fichiers qui seront inclus */ switch ($page) { (...) /* --------------------------------- */ case 'contact': $title = "QI98 - Contact"; $titrePage = "Nous contacter"; $url_page="pages/contact/contact.php"; break; case 'contact-ctrl': $title = "QI98 - Vérification du contact"; $titrePage = "Vérification du contact"; $url_page="pages/contact/contact-ctrl.php"; break; (...) /* --------------------------------- */ case 'grand_test': $title = "QI98 - Faites le grand test"; $titrePage = "Faites le grand test"; $url_page="pages/test/grand_test.php"; /* --------------------------------- */ case 'mentions': $title = "QI98 - Mentions légales"; $titrePage = "Mentions légales"; $url_page="pages/mentions/mentions.php"; break; (...)
MAIN.PHP
<?php $page = (!empty($_GET['page'])) ? htmlentities($_GET['page']) : '1'; $array_ = array( 'accueil' => 'pages/accueil/accueil.php', // par défaut 'apropos' => 'pages/apropos/apropos.php', 'historique' => 'pages/apropos/historique.php', 'contact' => 'pages/contact/contact.php', 'contact-ctrl' => 'pages/contact/contact-ctrl.php', 'mentions' => 'pages/mentions/mentions.php', 'plan-acces' => 'Plan d\'accès', 'grand_test' => 'pages/tests/grand_test.php', (...) 'erreur-404' => 'Page introuvable', ); if(!array_key_exists($page, $array_)) include('pages/erreur/erreur-404.php'); elseif(!is_file($array_[$page])) include('pages/erreur/erreur-404.php'); else include($array_[$page]); ?>
HEADER.PHP (menu du haut)
<!-- début menu-header --> <div id="menu-header"> <nav> <a href="?page=accueil" title="" style="color: #fff;">Accueil</a> | <a href="#" title="" style="color: #fff;">FAQ</a> | <a href="?page=contact" title="" style="color: #fff;">Contact</a> <span class="menu-header-right"> <a href="?page=grand_test" title="" style="color: #fff;">Grand test de QI</a> | <a href="#" title="" style="color: #fff;">Tests de QI particulier</a> </span> </nav> <!-- début menu-header --> </div>
- Un lien défini mais ça affiche autre page
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Supprimer page word - Guide
- Verificateur de lien - Guide
- Définir google comme page d'accueil - Guide
3 réponses
comment fais-tu le lien entre ta page index et ton fichier main ?
vu que tu n'as mis que des morceaux de code, il est compliqué de voir ce qui cloche...
il serait bien également, que tu places quelques Var dump des différentes variables
histoire de voir ce qu'elle contiennent et si ça correspond à ce que tu attends.
il aurait également été bien que tu évites de mettre des espaces dans le nom de ton projet...
et pour finir, lorsque tu cliques sur ton lien, quelle page s'affiche et donc quelle est l'URL qui se met dans ton navigateur. ?
Bonjour Jordane45,
Comme la nuit porte conseils et Toufik83 de Développez.net l'a aussi remarqué, dans l'index.php il manquait un "break" dans la case 'grand_test':" ce qui passait à la page suivante dans le "switch ($page)" .
Bon, pour l'instant, c'est résolu de ce côté-là, la bonne page s'affiche bien, mais maintenant, je dois passer en revue la déclaration de cette variable "grand_test" qui n'est pas reconnue; comme il n'y a que 3 fichiers .php (main, index et header), ça ne devrait pas être trop difficile à trouver.
Concernant les Var dump dans certaines variables, j'ai dû faire ça il y a plus de 20 ans, et ça m'est sorti de l'esprit;
switch ($page) { /* Pour les pages standard */ case 'accueil': $title = "QI98 - Accueil"; $titrePage = "Bienvenue chez nous"; $url_page="pages/accueil/accueil.php"; break; case 'apropos': $title = "QI98 - A proposs"; $titrePage = "A propos"; $url_page="pages/apropos/apropos.php"; break; case 'historique': $title = "QI98 - Historique"; $titrePage = "Historique de QI98"; $url_page="pages/apropos/historique.php"; break; /* --------------------------------- */ case 'contact': $title = "QI98 - Contact"; $titrePage = "Nous contacter"; $url_page="pages/contact/contact.php"; break; case 'contact-ctrl': $title = "QI98 - Vérification du contact"; $titrePage = "Vérification du contact"; $url_page="pages/contact/contact-ctrl.php"; break; /* --------------------------------- */ case 'grand_test': $title = "QI98 - Faites le grand test"; $titrePage = "Faites le grand test"; $url_page="pages/test/grand_test.php"; break; /* --------------------------------- */ case 'mentions': $title = "QI98 - Mentions légales"; $titrePage = "Mentions légales"; $url_page="pages/mentions/mentions.php"; break; case 'plan-acces': $title = "QI98 - Plan d'accès"; $titrePage = "Plan d'accès"; $url_page="pages/plan-acces/plan-acces.php"; break; } /* Chaque élément du tableau est l'élément de la page */ $contenupage = $aContenu[$page];
Celle que je vois en bas de la page au survol de la souris qi98 -2.test/?page=grand_test
Mais c'est pas la bonne page qui s'affiche.