[PHP] affichage dans une <div> [Résolu/Fermé]

Signaler
-
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
-
Bonjour,

j'ai un petit souci avec mon code php. Je voudrais afficher mon menu codé dans menu.php dans une div qui est dans index.php. Je vous laisse mon code parce que je ne trouve pas mon erreur.

<?php $menus=array(
		    'menu'=>'menu',
		    'menu_com' => 'menu_com'
		  );
	?>

<div id="menu">
		<?php
			if(isset($_GET['haut']) && array_key_exists($_GET['haut'],$menus))
                include $menus[$_GET['menu']].'.php';
             else
                echo"ca marche pas";
		?>
	</div>

7 réponses

Messages postés
203
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
16 mars 2010
145
C'est pour ça que je lui pose la question. Mais vu que son isset et son array_key_exists portent tout deux sur $_GET['haut'], ça me semblerait logique. Ou l'inverse : les $_GET['haut'] à remplacer par $_GET['menu']
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 86853 internautes nous ont dit merci ce mois-ci

Utilisateur anonyme
Comme dit plus haut j'ai écrit des fromulaires et ses deux versions fonctionnent. C'est ce qui me fait dire que c'est bien dans le formulaire que le pb semble se passer.
j'ai changer aussi la method du from en POST et pas en GET mais cela ne doit pas gêner.

Bonsoir,

si tu ajoutes :
print_r($_GET); echo "<br>";
devant ton if tu verras que ton $_GET est vide la question à se poser est pourquoi ?
Utilisateur anonyme
et bien je la pose lol
parce que ca marche tres bien avec ma div centre et mon index

merci de ta réponse
Salut,
Je propose juste un truc pas sûr du tout(je suit pas bon en php) mais tu perds rien à tenter:
Peut être le include aime pas la concaténation et faire comme ça.
$url=$menus[$_GET['menu']].'.php';
include $url;
echo $url; // pour voir si ça vient de là

M'enfin je voit pas trop pourquoi mais bon parfois suffit d'un rien.
Voire:
$menus[$_GET['menu']].".php";

<?php
		$pages=array(
		   'accueil'=>'accueil',
		   'epreuve'=>'epreuve',
		   'construction'=>'construction',
		   'connexion'=>'connexion' ,
		   'indispo'=>'indispo' ,
		   'inscrire' => 'inscrire'
		);


if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
                include $pages[$_GET['page']].'.php';
             else
                include 'accueil.php';


alors je comprends pas tout parce que ce code marche alors que l'autre qui est sur le meme modele ne veut rien savoir...
Utilisateur anonyme
le dernier cas donné n'affiche -il pas toujours accueil .php ?

Bonjour,

J'ai écrit des trucs afin de tester ton code.
j'arrive à faire focntionner les deux.


j'en arrive à te poser quelques questions.
le formulaire qui renvoit sur ce script php utilise-t-il la methos GET ou POST ?
le name de select dans le fromulaire est-il bien haut ?
---------- formulaire ----------------
<html>
<form name='form' method='POST' action='menu.php'>
<select name='page'>
<option>menu</option>
<option>menu_com</option>

</select>
<input type='submit' value='OK'>
</form>
</html>
-----------------------------------------------------------------
<?php $menus=array(
'menu'=>'menu',
'menu_com' => 'menu_com'
);
?>

<div id="menu">
<?php
if(isset($_POST['page']) && array_key_exists($_POST['page'],$menus))
include $menus[$_POST['page']].'.php';
else
echo"ca marche pas";
?>
</div>
--------------------------------------------------------------------------


Messages postés
203
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
16 mars 2010
145
Ca ne serait pas "include $menus[$_GET['haut']].'.php';" plutôt ?
Utilisateur anonyme
Bonjour,
cela dépend du name de la clause select dans le formulaire, et ça on ne l'a pas.
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
108
Il est évident que le pb vient du formulaire en amont.

La suggestion de giheller dans le tout premier message (insérer un print_r) ne semble pas voir été suivie par sakura250006 et c'est dommage car elle permetrait de confirmer cela.

Le source du frmulaire amont n'a pas été fpurni non plus

Autant chercher une aiguille dans une botte de foin !