Un lien défini mais ça affiche autre page

masterfree59 Messages postés 7 Date d'inscription dimanche 6 juin 2021 Statut Membre Dernière intervention 27 mars 2024 - Modifié le 26 mars 2024 à 18:02
masterfree59 Messages postés 7 Date d'inscription dimanche 6 juin 2021 Statut Membre Dernière intervention 27 mars 2024 - 27 mars 2024 à 06:54

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>
Page non désirée suivant le lien appelé
A voir également:

3 réponses

jordane45 Messages postés 38148 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 4 651
26 mars 2024 à 18:41

bonjour

quelle url s'affiche lorsque tu cliques sur ton lien ?


0
masterfree59 Messages postés 7 Date d'inscription dimanche 6 juin 2021 Statut Membre Dernière intervention 27 mars 2024
26 mars 2024 à 18:53

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.

0
jordane45 Messages postés 38148 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 4 651
26 mars 2024 à 19:18

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. ?


0
masterfree59 Messages postés 7 Date d'inscription dimanche 6 juin 2021 Statut Membre Dernière intervention 27 mars 2024
27 mars 2024 à 06:54

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];
0
masterfree59 Messages postés 7 Date d'inscription dimanche 6 juin 2021 Statut Membre Dernière intervention 27 mars 2024
26 mars 2024 à 19:41

Là où il y a "(...)" c'est les mêmes lignes de liens différents.

Mais je te répondrai plus longuement en détails demain parce que j'attends mes enfants vers 20h, on fait un petit gueuleton parce que mon gendre a ouvert son magasin.

Passe une bonne soirée et merci de ton aide.


0