Les Allergies
Alimentaires
Posez votre question Signaler

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

sakura250006 176Messages postés 22 mai 2007Date d'inscription - Dernière réponse le 23 mars 2008 à 12:39
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>
Lire la suite 

[PHP] affichage dans une <div> »

11 réponses
Réponse
+0
moins plus
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 ?
sakura250006- 22 mars 2008 à 18:51
et bien je la pose lol
parce que ca marche tres bien avec ma div centre et mon index

merci de ta réponse
Ajouter un commentaire
Réponse
+0
moins plus
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";
Ajouter un commentaire
Réponse
+0
moins plus
<?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...
giheller- 23 mars 2008 à 09:07
le dernier cas donné n'affiche -il pas toujours accueil .php ?
Ajouter un commentaire
Réponse
+0
moins plus
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>
--------------------------------------------------------------------------


Ajouter un commentaire
Réponse
+0
moins plus
Ca ne serait pas "include $menus[$_GET['haut']].'.php';" plutôt ?
giheller- 23 mars 2008 à 10:36
Bonjour,
cela dépend du name de la clause select dans le formulaire, et ça on ne l'a pas.
Ajouter un commentaire
Réponse
+0
moins plus
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']
giheller- 23 mars 2008 à 11:17
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Ce document intitulé « [PHP] affichage dans une <div> » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?