[PHP] Problème div et include

Problème div et include [PHP] - PHP - Programmation

Marsh Posté le 05-01-2005 à 16:11:41    

Hi all,
 
Je suis sur la conception d'un modeste site pour un lycée et je bloque.
Je sais pas si je vais réussir à me faire comprendre mais je me lance.
Mon site est architecturé uniquement avec des <div>
J'ai un bloc menu dans le haut de la page dans lequel j'insère un menu.
J'ai un autre bloc conteneur en dessous qui est la cible de mon menu du bloc menu.
Dans ce bloc conteneur j'ai refais 2 blocs verticaux, un pour mettre un menu et l'autre pour mettre le contenu.
 
Le scénario est donc :
- je clique dans mon menu de mon bloc menu
  -> une page qui est donc divisée en 2 s'affiche
  -> je clique dans le cadre de gauche dans le but d'afficher dans le cadre de droite
 
 
et c'est là que ça coince, une nouvelle page recouvre totalement celle déjà affichée alors que je voudrais que ça s'affiche dans le cadre de droite.
 
 
Le code du bloc menu :  
 
...
<li><a href="indexfr.php?page=formations">Formations</a></li>
...

 
le code du bloc conteneur lié au menu :
<div class="conteneur">
  <?php  
   if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];  
    switch($page)
    {
     case 'accueil': include ('accueil.htm');break;
     case 'formations' : include ('fr/formations.php');break;
     case 'presentation': include ('presentation.htm');break;
     case 'equipe':include ('equipe_direction.htm');break;
     case 'test':include ('test.htm');break;
     case 'fin':include ('fin.htm');break;
    }  
  ?>
 </div>

 
 
j'ai donc fais tout logiequement la meme chose dans le fichier qui va dans le bloc du bas
 
 
si quelqu'un ma compris et a une idée, merci de me viendre en aide
 


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 05-01-2005 à 16:11:41   

Reply

Marsh Posté le 05-01-2005 à 16:15:22    

Si tu veux que ça fonctionne comme ça il te faut des frames.
Mais je ne peux que te conseiller d'utiliser des pseudo-frames...;)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 05-01-2005 à 16:17:47    

Y'a quoi dans les pages genre "accueil.html" ?

Reply

Marsh Posté le 05-01-2005 à 16:19:35    

FlorentG a écrit :

Y'a quoi dans les pages genre "accueil.html" ?


sûrement pas son menu, en tout cas...;)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 05-01-2005 à 16:21:11    

Parce que si son accueil.html est du genre à commencer par <!DOCTYPE...., ben c'est pas gagné :D
 
Donc vincegr, dans tes autres pages, y'a bien juste le contenu des bonnes div ?

Reply

Marsh Posté le 05-01-2005 à 16:23:10    

FlorentG a écrit :

Parce que si son accueil.html est du genre à commencer par <!DOCTYPE...., ben c'est pas gagné :D
 
Donc vincegr, dans tes autres pages, y'a bien juste le contenu des bonnes div ?


Tiens, j'avais mal lu...ne pas tenir compte de mes posts précédents![:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 05-01-2005 à 16:23:21    

vous avez réussi à me comprendre ?!! wow
 
dans accueil.htm j'ai juste un petit texte pour tester
 
qu'entends tu par "pseudos-frames"
 
n'hésitez pas à me deamnder s'il vous manque du code ou un truc que je vous ai pas bien explicité


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 05-01-2005 à 16:24:48    

FlorentG a écrit :

Parce que si son accueil.html est du genre à commencer par <!DOCTYPE...., ben c'est pas gagné :D
 
Donc vincegr, dans tes autres pages, y'a bien juste le contenu des bonnes div ?


 
 
oui j'ai DOCTYPE dans mes pages


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 05-01-2005 à 16:26:05    

T'aurais pas ton site en ligne histoire de voir ?

Reply

Marsh Posté le 05-01-2005 à 16:26:46    

non désolé c'est tellement pas finalisé que c'est pas mettable en ligne


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 05-01-2005 à 16:26:46   

Reply

Marsh Posté le 05-01-2005 à 16:28:11    

Et c'est quoi la nouvelle page qui recouvre celle de droite ?

Reply

Marsh Posté le 05-01-2005 à 16:35:49    

une copie de formations.php que vous pouvez retrouver dans le menu du haut :
 
 

html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <style type="text/css">
 
 <!--
 .bas {
  float: left;
  width: 99.5%;
  height: 100%;
 }
 
 .gauche {
  float: left;
  width: 25%;
  height: 100%;
  overflow: auto;
 }
 
 .droite {
  float: left;
  width: 74.5%;
  height: 100%;
 }    
 -->
 
 </style>
</head>
<div class="bas">
 <div class="gauche">
  <div id="menu">
   <dt>Second cycle<br></dt>
   <dd>
    <ul>
     <h3>Seconde</h3>
     <li><a href="#">Seconde de détermination</a></li>
     <h3>Premières</h3>
     <li><a href="#">Economique et sociale</a></li>
     <li><a href="#">STT Action Administrative et Commerciale</a></li>
     <li><a href="#">STT Gestion</a></li>
     <li><a href="#">SMS Sciences Médico-Sociales</a></li>
     <h3>Terminales</h3>
     <li><a href="#">Economique et sociale</a></li>
     <li><a href="#">STT Action et Communication Administrative</a></li>
     <li><a href="#">STT Comptabilité et Gestion</a></li>
     <li><a href="#">STT Action et Communication Commerciale</a></li>
     <li><a href="#">SMS Sciences Médico-Sociales</a></li>
    </ul>
   </dd>
 
   <dt>Troisième cycle<br></dt>
   <dd>
    <ul>
     <h3>Classes Prépa</h3>
     <li><a href="#">Economique et Commerciale option Economique</a></li>
     <h3>Brevet de Technicien Supérieur</h3>
     <li><a href="#">Comptabilité Gestion des Organisations</a></li>
     <li><a href="#">Assistant de direction</a></li>
     <li><a href="#">Assistant secrétaire trilingue</a></li>
     <li><a href="#">Economique et Commerciale option Economique</a></li>
     <li><a href="fr/formations.php?page=btsbanque">Banque</a></li>
    </ul>
   </dd>
  </div>
 </div>
 
 <div class="droite">
  <?php  
   if (!isset($_GET['page'])) $page= 'btsbanque'; else $page= $_GET['page'];  
    switch($page)
    {
     case 'btsbanque': include ('btsbanque.htm');break;
     case 'diagramme': include ('diagramme.htm');break;
    }  
  ?>
 </div>
</div>
</html>


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 05-01-2005 à 16:37:46    

Chelou ton truc, tu fait un include d'une page dans une autre page :??:
 
Normalement t'as une page principale, et tu fais un include d'une seule section, par exemple le contenu d'une div. Si tu fait un include d'une page complète, c'est normal que ça va buger, en plus c'est absolument pas valide.

Reply

Marsh Posté le 05-01-2005 à 16:41:44    

je m'en doutais un peu
mais par contre je sais pas trop quelle méthode employer pour remplacer ces mauvais include !!


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 05-01-2005 à 16:43:51    

vincegr a écrit :

je m'en doutais un peu
mais par contre je sais pas trop quelle méthode employer pour remplacer ces mauvais include !!


Bah il faut juste te dire que quand tu fais un include c'est comme si tu faisais un copier/coller de la page incluse à l'endroit où tu l'appelles.
Donc il faut que tu modifies les pages incluses pour que la syntaxe obtenue par cette méthode soit correcte!;)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 05-01-2005 à 17:12:47    

skeye a écrit :

Bah il faut juste te dire que quand tu fais un include c'est comme si tu faisais un copier/coller de la page incluse à l'endroit où tu l'appelles.


 
oui ça j'avais compris, il me reste encore quelques notions de BTS
 

skeye a écrit :

]Donc il faut que tu modifies les pages incluses pour que la syntaxe obtenue par cette méthode soit correcte!;)


 
Ca d'accord mais c'est comment m'y prendre que je ne sais pas !!


Message édité par vincegr le 05-01-2005 à 17:20:37

---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 05-01-2005 à 17:24:31    

vincegr a écrit :


Ca d'accord mais c'est comment m'y prendre que je ne sais pas !!


Bah si tu as compris comment ça fonctionne, je vois pas ce qui te pose problème...[:urd]
Par exemple étant donné que ton include est en plein milieu de ta page, ton fichier inclus ne devra pas contenir tes :

Code :
  1. html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  4. <style type="text/css">
  5. <!--
  6. .bas {
  7.   float: left;
  8.   width: 99.5%;
  9.   height: 100%;
  10. }
  11. .gauche {
  12.   float: left;
  13.   width: 25%;
  14.   height: 100%;
  15.   overflow: auto;
  16. }
  17. .droite {
  18.   float: left;
  19.   width: 74.5%;
  20.   height: 100%;
  21. }   
  22. -->
  23. </style>
  24. </head>


Message édité par skeye le 05-01-2005 à 17:24:54

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 05-01-2005 à 17:27:22    

étonnant que dans le menu il y ait un lien vers "fr/formations.php?[...]", j'aurais plutôt vu qqch  sans le fr/ : "formations.php?..."
Ensuite pour tes includes de fichier html, il suffit que tu enlèves tout jusqu'à <body> (inclus) et de </body> jusqu'à la fin...

Reply

Marsh Posté le 06-01-2005 à 15:24:31    

j'ai fais des modifs
j'ai rapatrié mes .gauche et .droite dans mon .css
mais le probleme subsiste, c'est à dire que lorsque je clique dans mon menu du bas dans la colonne de gauche ma page s'affiche mais pas dans mon div de droite, dans toute la page !


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 06-01-2005 à 15:29:09    

vincegr a écrit :

j'ai fais des modifs
j'ai rapatrié mes .gauche et .droite dans mon .css
mais le probleme subsiste, c'est à dire que lorsque je clique dans mon menu du bas dans la colonne de gauche ma page s'affiche mais pas dans mon div de droite, dans toute la page !


si ton formation.php contient toujours les <html> <head> etc. c'est normal, hein...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-01-2005 à 15:33:15    

Bon reprenons depuis de début :
le source que tu as donné au début c'est le source de quel fichier?
Ensuite du dis avoir fait DES modifs mais lesquelles et dans quoi?

Reply

Marsh Posté le 06-01-2005 à 15:35:16    

je n'ai que mes div et mon code php dans formations.php !!
 
 
j'ai un .html qui appel un .css dans lequel je definis maintenant tous mes blocs :
- bloc du haut
- bloc du bas dans lequel j'ai :
   - bloc de droite
   - bloc de gauche
 
quand je clique sur "formations" dans le bloc du haut, j'ai un menu qui s'affiche dans le bloc bas->gauche
et le problème est que lorsque je clicque sur un item de mon menu de gauche j'aimerai que la page désirée s'ouvre dans le bloc bas->droite mais celle-ci s'ouvre comme une nouvelle page !!
 
suis je clair ?


Message édité par vincegr le 06-01-2005 à 15:56:19

---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 06-01-2005 à 15:36:12    

vincegr a écrit :

je n'ai que mes div et mon code php dans formations.php !!


Fais afficher par ton browser le code de la page obtenue, et file-le ici...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-01-2005 à 15:59:26    

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
  2.   "http://www.w3.org/TR/REC-html40/strict.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <title>Lycée Vial</title>
  7. <script src="menu.js" type="text/javascript"></script>
  8. <style type="text/css">
  9.  <!--
  10.   @import url(style.css);
  11.  //-->
  12. </style>
  13. </head>
  14. <body>
  15. <div class="cadreext">
  16. <div class="cadrehaut">
  17.  <div class="cadrelogovial"></div>
  18.  <div class="cadremenu">
  19.   <div id="menu">
  20.    <dl>
  21.     <dt onmouseover="javascript:montre('smenu1');">Le lycée</dt>
  22.      <dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre('');">
  23.       <ul>
  24.        <li><a href="#">Le mot du proviseur</a></li>
  25.        <li><a href="indexfr.php?page=equipe">Equipe de direction</a></li>
  26.        <li><a href="#">Histoire du lycée</a></li>
  27.        <li><a href="#">Prosper Vial</a></li>
  28.       </ul>
  29.      </dd>
  30.    </dl>
  31.    <dl>
  32.     <dt onmouseover="javascript:montre('smenu2');">Enseignement</dt>
  33.      <dd id="smenu2" onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre('');">
  34.       <ul>
  35.        <li><a href="indexfr.php?page=formations">Formations</a></li>
  36.        <li><a href="#">Résultats</a></li>
  37.       </ul>
  38.      </dd>
  39.    </dl>
  40.    <dl>
  41.     <dt onmouseover="javascript:montre('smenu3');">Vie lycéenne</dt>
  42.      <dd id="smenu3" onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre('');">
  43.       <ul>
  44.        <li><a href="#">Evenements</a></li>
  45.        <li><a href="#">Association d'étudiants</a></li>
  46.        <li><a href="#">CDI</a></li>
  47.       </ul>
  48.      </dd>
  49.    </dl>
  50.    <dl>
  51.     <dt onmouseover="javascript:montre('smenu4');">Informations</dt>
  52.     <dd id="smenu4" onmouseover="javascript:montre('smenu4');" onmouseout="javascript:montre('');">
  53.      <ul>
  54.       <li><a href="#">Inscriptions</a></li>
  55.       <li><a href="#">Nous contacter</a></li>
  56.       <li><a href="#">Situation</a></li>
  57.       <li><a href="#">Règlement intérieur</a></li>
  58.      </ul>
  59.     </dd>
  60.    </dl>
  61.   </div>
  62.  </div>
  63.  <div class="cadrelogoEN"></div>
  64.  <div class="cadrelangue">
  65.   <div id="boutonfr">
  66.    <a id="zonefr" href="indexfr.php" title="Cliquez ici pour avoir l'ensemble du site en français"></a>
  67.   </div>
  68.   <div id="boutonen">
  69.    <a id="zoneen" href="indexen.php" title="Click here to get the entire site in english"></a>
  70.   </div>
  71.   <div id="boutones">
  72.    <a id="zonees" href="indexes.php" title="espanol"></a>
  73.   </div>
  74.   <div id="boutonde">
  75.    <a id="zonede" href="indexde.php" title="deutsch"></a>
  76.   </div>
  77.   <div id="boutonit">
  78.    <a id="zoneit" href="indexit.php" title="italiano"></a>
  79.   </div>
  80.  </div>
  81. </div>
  82. <div class="conteneur">
  83.   <div class="gauche">
  84.  <div id="menu">
  85.   <dt>Second cycle<br></dt>
  86.   <dd>
  87.    <ul>
  88.     <h3>Seconde</h3>
  89.     <li><a href="#">Seconde de détermination</a></li>
  90.     <h3>Premières</h3>
  91.     <li><a href="#">Economique et sociale</a></li>
  92.     <li><a href="#">STT Action Administrative et Commerciale</a></li>
  93.     <li><a href="#">STT Gestion</a></li>
  94.     <li><a href="#">SMS Sciences Médico-Sociales</a></li>
  95.     <h3>Terminales</h3>
  96.     <li><a href="#">Economique et sociale</a></li>
  97.     <li><a href="#">STT Action et Communication Administrative</a></li>
  98.     <li><a href="#">STT Comptabilité et Gestion</a></li>
  99.     <li><a href="#">STT Action et Communication Commerciale</a></li>
  100.     <li><a href="#">SMS Sciences Médico-Sociales</a></li>
  101.    </ul>
  102.   </dd>
  103.   <dt>Troisième cycle<br></dt>
  104.   <dd>
  105.    <ul>
  106.     <h3>Classes Prépa</h3>
  107.     <li><a href="#">Economique et Commerciale option Economique</a></li>
  108.     <h3>Brevet de Technicien Supérieur</h3>
  109.     <li><a href="#">Comptabilité Gestion des Organisations</a></li>
  110.     <li><a href="#">Assistant de direction</a></li>
  111.     <li><a href="#">Assistant secrétaire trilingue</a></li>
  112.     <li><a href="#">Economique et Commerciale option Economique</a></li>
  113.     <li><a href="fr/formations.php?page=btsbanque">Banque</a></li>
  114.    </ul>
  115.   </dd>
  116.  </div>
  117. </div>
  118. <div class="droite">
  119.   </div> </div>
  120. </div>
  121. </body>
  122. </html>


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 06-01-2005 à 16:06:19    

Bon, plus qu'à comparer le code avec celui d'une page où le menu est ok...mais chez moi avec juste ce code j'ai bien un truc qui ressemble à un menu, en haut...[:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-01-2005 à 16:13:12    

ouai mais ça c'est ok
 
le scénarios qui ne va pas c'est quand je clique dans le menu bas->gauche (que j'ai obtenu en cliquant dans un item du menu du haut) j'aimerais que la page s'affiche dans le bloc->droite
et c'est pas le cas
ça s'affiche pleine page


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le 06-01-2005 à 16:14:00    

vincegr a écrit :

ouai mais ça c'est ok
 
le scénarios qui ne va pas c'est quand je clique dans le menu bas->gauche (que j'ai obtenu en cliquant dans un item du menu du haut) j'aimerais que la page s'affiche dans le bloc->droite
et c'est pas le cas
ça s'affiche pleine page


Alors file le code que te donne le browser pour cette page-là!!


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-01-2005 à 16:15:49    

vincegr a écrit :

ouai mais ça c'est ok
 
le scénarios qui ne va pas c'est quand je clique dans le menu bas->gauche (que j'ai obtenu en cliquant dans un item du menu du haut) j'aimerais que la page s'affiche dans le bloc->droite
et c'est pas le cas
ça s'affiche pleine page


 
C'est normal, tu peux pas modifier un p'tit morceau comme ça d'une page web. Faut tout recharger :) Un div n'est ni une frame, ni un iframe

Reply

Marsh Posté le 06-01-2005 à 16:20:01    

c'est bon merci je suis partiellement débloqué, je suis sur la bonne voie
 
merci beaucoup beaucoup pour votre aide


Message édité par vincegr le 06-01-2005 à 16:23:39

---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed