[PHP] menu + include en fonction du menu [Résolu/Fermé]

Signaler
-
 reno1601 -
Bonsoir,

J'ai une petite question, mais je ne sais pas trop comment la poser, alors je vais vous expliquer ce que je souhaiterais faire.

Voila, j'ai un menu tout ce qu'il y a de plus banal je pense. (utilisant un Jquery ... menu vertical avec effet accordéon)

Imaginons que l'on se trouve sur la page /services.php

Imaginons que le menu soit composé de :

- menu1
- menu2
- menu3

j'aimerais que lorsque l'on clique sur menu1, on se trouve sur la page /services.php?page=menu1

et que la page affiché soit en fait un include.

Je voudrais en fait proposer différentes configuration de PC, sans devoir faire plusieurs pages différentes, je voudrais juste une page que l'on inclus, avec juste la config du PC

Est-ce possible ?
Je vous serai très reconnaissant

D'avance merci beaucoup !! smiley

2 réponses

Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
52
Bonjour,

En ce qui concerne l'affichage d'une page différente en fonction d'un test tu peux utiliser la fonction "header".
Ce qui te permet d'afficher une page, par contre cela n'arrête pas ton code php, il faut faire un die après pour qu'il n'y est pas d'erreur.

https://www.php.net/manual/fr/function.header.php

Ca pourrait donner quelque chose comme ça :

if($pc){
    header('Location: page_pc.php');
    die();
} elseif($mac) {
    header('Location: page_mac.php');
    die();
} elseif($linux){
    header('Location: page_linux.php');
    die();
}


Il faudra que tu remplisse tes variables $pc, $mac et $linux à partir des infos que tu reçois dans le GET.

Voila, en espérant que ça t'ai aidé =)
Hello !

Merci pour votre réponse, mais j'ai trouvé la solution, comme quoi quand on cherche on fini souvent par trouver xD

Pour ceux que ça pourrait intéresser voici deux codes qui pourraient fonctionner :

************ Premier code ************

<?php
if(empty($_GET['page'])) {
			include("page1.php");
		} else {
			if(file_exists($_GET['page'].".php")){
				include($_GET['page'].".php");
			} else {
				include("erreur.php"); //Si la page demandée n'existe pas, on redirige vers une page d'erreur
			}
		}
?>


en utilisant dans le menu des liens du type :
<a href="?page=page1">page1</a>
<a href="?page=page2">page2</a>



************ Second code (et celui pour lequel j'ai opté) ************
<?php
	// On fait un tableau des fichiers que l'on doit utiliser
	$arrayPages = array(
	'page1' => 'page1.php',
	'page2' => 'page2.php',
	'page3' => 'page3.php',
	'page4' => 'page4.php'
	);
		
	if(!empty($_GET['page'])) // On demande si la variable $page existe déjà dans le liens
	{
	if(array_key_exists(strtolower($_GET['page']), $arrayPages)) // la clé présente dans le liens existe-t-elle dans notre array ?
	{
		include('repertoiredemespages/'. $arrayPages[ strtolower($_GET['page']) ] ); // Si oui, on inclus la page correspondante
	}
	else
	{
		include('repertoiredemespages/erreur.php');// Si non, on redirige vers une page d'erreur
	}
	}
	else
	{
		include('repertoiredemespages/'. $arrayPages['page1']); //si la variable $page n'existe pas, on redirige vers la page par défaut (page1)
	}
?>


Toujours en utilisant des liens dans le menu du type :

<a href="?page=page1">page1</a>
<a href="?page=page2">page2</a>
<a href="?page=page3">page3</a>
<a href="?page=page4">page4</a>



Voili voilou, mais merci quand même d'avoir essayé de m'aider ! =D

Bonne journée !
Bonjour,
je voudrais faire la même chose... en fait je voudrais afficher une galerie tiltviewer. Mais à chaque fois que j'utilise du php, cela m'affiche "TiltViewer requires JavaScript and the latest Flash Player. Get Flash here." plusieurs personnes ont ce problème... je n'ai pas trouvé de réponses. Donc je me demandais si c'était possible de faire exactement la même chose dans un autre langage du style javascript ou tout autre.
J'utilise Dreamweaver CS3 et ma page est http://rscalbert.free.fr/index2.php
Je vous remercie de prêter attention a mon problème.
En esperant avoir des retours ^^