[PHP] affichage dans une <div>

Résolu
Utilisateur anonyme -  
croy Messages postés 457 Statut Membre -
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>
Configuration: Windows XP
Firefox 2.0.0.12

7 réponses

  1. Enax Messages postés 204 Statut Membre 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
    1. giheller
       
      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.
      0
  2. giheller
     
    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 ?
    0
    1. 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
      0
  3. magichit
     
    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";
    0
  4. Utilisateur anonyme
     
    <?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...
    0
    1. giheller
       
      le dernier cas donné n'affiche -il pas toujours accueil .php ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. giheller
     
    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>
    --------------------------------------------------------------------------

    0
  7. Enax Messages postés 204 Statut Membre 145
     
    Ca ne serait pas "include $menus[$_GET['haut']].'.php';" plutôt ?
    0
    1. giheller
       
      Bonjour,
      cela dépend du name de la clause select dans le formulaire, et ça on ne l'a pas.
      0
  8. croy Messages postés 457 Statut Membre 114
     
    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 !
    0