[HTML][PHP][CSS] possible de remplir 2 div en même temps ?

possible de remplir 2 div en même temps ? [HTML][PHP][CSS] - HTML/CSS - Programmation

Marsh Posté le 12-01-2005 à 09:27:30    

Hi all,
 
Je suis sur la conception d'un modeste site et je n'ai pas de grandes connaissances en prog web.
Voici mon problème. J'ai plusieurs div dans ma page dont deux dans le bas de la page censées afficher un menu pour l'une et les liens cibles de ce menu dans l'autre.
Lorsque je clique dans le menu à gauche, la div se remplie à droite mais la div gauche se vide et je voudrais que le menu reste affiché dans la div de gauche pendant que la cible du lien soit affichée dans la div de droite !
 
voici le code :  
 

Code :
  1. <div class='conteneur'>
  2.   <?php
  3.    if (!isset($_GET['gauche'])) $gauche=''; else $gauche= $_GET['gauche'];
  4.    if (!isset($_GET['droite'])) $droite=''; else $droite= $_GET['droite'];
  5.   ?>
  6.   <div class='gauche'>
  7.    <?php
  8.     switch($gauche)
  9.     {
  10.      case 'formations': include ('fr/formations.htm');break;
  11.     }
  12.    ?>
  13.   </div>
  14.   <div class='droite'>
  15.    <?php
  16.     switch($droite)
  17.     {
  18.      case 'btsbanque': include ('fr/btsbanque.htm');break;
  19.      case 'diagramme': include ('fr/diagramme.htm');break;
  20.     }
  21.    ?>
  22.   </div>
  23.  </div>


 
qu'en pensez vous ?
 
MErci


---------------
"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 12-01-2005 à 09:27:30   

Reply

Marsh Posté le 12-01-2005 à 09:50:56    

Ben le menu devrait toujours être inclu quoi qu'il arrive nan ? :D

Reply

Marsh Posté le 12-01-2005 à 09:57:49    

oui je vois ce que tu veux dire !!
mon menu de gauche ne contient pour l'instant qu'une ligne mais étant donné que celui-ci est appelé par un autre menu en haut, d'autres include vont se rajouter
donc pour l'instant je ne vois pas torp comment faire autrement !!


---------------
"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 12-01-2005 à 10:58:15    

rien à voir avec ta question, mais au passage, une ptite optimisation de ton code:

Code :
  1. <div class='conteneur'>
  2.    <?php
  3.    if (!isset($_GET['gauche'])) $gauche=''; else $gauche= $_GET['gauche'];           
  4.    if (!isset($_GET['droite'])) $droite=''; else $droite= $_GET['droite']; 
  5.     ?>
  6.     <div class='gauche'>
  7.        <?php 
  8.        if ($gauche<>'')
  9.        {
  10.           include ('fr/'.$gauche.'.htm');
  11.        } 
  12.     </div>
  13.     <div class='droite'>
  14.        <?php 
  15.        if ($droite<>'')
  16.        {
  17.           include ('fr/'.$droite.'.htm');
  18.        } 
  19.        ?>
  20.     </div>
  21.   </div>


tu as eu le bon réflexe de donner à tes variables de liens ($droite et $gauche), la meme valeur que le nom de la page vers laquelle elles pointent, autant s'en resservir ;)
contrairement à ton code, que tu es 1 lien ou 10, tu aura tjs un code d'une ligne avec le if, alors que ton nb de ligne va augmenter avec le case, et puis il a été vérifié qu'un if est légèrement plus rapide...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 11:03:23    

Xav_ a écrit :

rien à voir avec ta question, mais au passage, une ptite optimisation de ton code:

Code :
  1. <div class='conteneur'>
  2.    <?php
  3.    if (!isset($_GET['gauche'])) $gauche=''; else $gauche= $_GET['gauche'];           
  4.    if (!isset($_GET['droite'])) $droite=''; else $droite= $_GET['droite']; 
  5.     ?>
  6.     <div class='gauche'>
  7.        <?php 
  8.        if ($gauche<>'')
  9.        {
  10.           include ('fr/'.$gauche.'.htm');
  11.        } 
  12.     </div>
  13.     <div class='droite'>
  14.        <?php 
  15.        if ($droite<>'')
  16.        {
  17.           include ('fr/'.$droite.'.htm');
  18.        } 
  19.        ?>
  20.     </div>
  21.   </div>


tu as eu le bon réflexe de donner à tes variables de liens ($droite et $gauche), la meme valeur que le nom de la page vers laquelle elles pointent, autant s'en resservir ;)
contrairement à ton code, que tu es 1 lien ou 10, tu aura tjs un code d'une ligne avec le if, alors que ton nb de ligne va augmenter avec le case, et puis il a été vérifié qu'un if est légèrement plus rapide...


 
+1
 
Et au passage, mets toujours les {} . C'est peut être une question de gout dans ce cas précis, mais c'est comme mettre la ceinture en voiture... Faut plus y penser et le faire automatiquement...

Reply

Marsh Posté le 12-01-2005 à 11:25:31    

Et évite de donner des noms comme "gauche" ou "droite". Si un jour tu décides que le menu doit être en haut, ça va faire bizarre une div "gauche" placée en haut.

Reply

Marsh Posté le 12-01-2005 à 11:37:43    

Xav_ a écrit :


tu as eu le bon réflexe de donner à tes variables de liens ($droite et $gauche), la meme valeur que le nom de la page vers laquelle elles pointent, autant s'en resservir ;)


 
a la base je sors d'un BTS Informatique industrielle
j'ai donc fait un peu de programmation objet
donc jesais a peu pres manipuler les varaibles !!
 
maios merci pour le compliment
 
j'ai fais la modif avec le if !!
 
mais par contre ça résoud pas mon probleme
 
je réagis peut etre encore trop en frame, mais c'est pas un truc possible de specifier la cible vers laquelle on veut ouvrir une page ?


Message édité par vincegr le 12-01-2005 à 11:51:34

---------------
"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 12-01-2005 à 12:20:38    

Citation :

a la base je sors d'un BTS Informatique industrielle


et moi d'un DUT Info Indus (GEII), je suis maintenant automaticien depuis qques années, et ce qu'on vient de citer n'a rien à voir avec les objets :P
 
ben ouais, les frames c'est une mauvaise habitude parfois dur à perdre... ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 12:26:59    

Xav_ a écrit :


tu as eu le bon réflexe de donner à tes variables de liens ($droite et $gauche), la meme valeur que le nom de la page vers laquelle elles pointent, autant s'en resservir ;)


 
Vois la belle faille de sécurité que tu fais aussi [:mlc]
 
et si gauche vaut "../../users/passwd" par exemple ?

Reply

Marsh Posté le 12-01-2005 à 13:05:54    

skylight a écrit :

Vois la belle faille de sécurité que tu fais aussi [:mlc]
 
et si gauche vaut "../../users/passwd" par exemple ?


 
qqun qui fait ça et qui n'a pas de fichier .htaccess à l'arrivée n'est pas très malin... je ne fais pas partie de ceux-là...
 
Mais là on parle quand meme d'un simple menu et de ses liens (voir question), je me suis juste contenté de lui filer une astuce, j'ai pas dis que c'était un truc super-sécuritaire à utiliser pour gérer les identifications... m'enfin...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 13:05:54   

Reply

Marsh Posté le 12-01-2005 à 14:11:55    

mais vous avez pas une idée pour mon probleme ?


---------------
"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 12-01-2005 à 14:20:53    

il ne faut conditionner que l'affichage du <div> de droite...
à gauche tu affiche le menu tout le temps (conseil d'Hermes), à droite tu include la page correspondant au lien si yen a eu un de cliqué....


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 14:23:04    

oui mais si je veux pouvoir faire changer le menu dans la div de gauche grace a un autre menu dans la page celle solution n'est pas bonne !!


---------------
"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 12-01-2005 à 14:28:30    

alors dans ce cas le menu que tu affiche à gauche, tu lui fait renseigner la variable $droite, et les liens possibles de droite, tu leur fait remplir la variable $gauche...
 
Mais par défaut, si $gauche=='' tu met le menu....
 
C'est vrai que tu es quand meme vachement dans une "optique"  
frame, avec promenade d'une zone à l'autre...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 14:43:41    

c'est déjà ce que j'ai tenté de faire mais ça na aucun effet !! d'ailleurs je trouve pas ça très logique !! mais bon j'ai pas non plus de grandes compétences !!
 
dans ma div de gauche j'ai une page htm avec tous mes liens et je veux qu'en cliquant sur les lien de ce htm ça s'ouvre dans la div de droite !


Message édité par vincegr le 12-01-2005 à 14:49:26

---------------
"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 12-01-2005 à 14:52:55    

ils sont de cette forme tes liens ?
<a href="index.php?droite=formations">Formations</a>


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 14:54:07    

yes


---------------
"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 12-01-2005 à 15:07:14    

et avec un $_URL['droite'] au lieu de $_GET['droite'] ?


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

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

non ça change rien
c'est même pire, je n'ai plus rien qui s'affiche dans ma div de droite !


---------------
"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 12-01-2005 à 15:17:04    

vincegr a écrit :

non ça change rien
c'est même pire, je n'ai plus rien qui s'affiche dans ma div de droite !


ben si tu avais qque chose c'est que ça marchai avant avec le $_GET, je comprend pu ce qui ne marche pas !!!


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 15:21:31    

tout simplement
quand je clique sur un lien de mon menu de gauche la page s'affiche dans la div de droite mais le menu dans lequel j'ai cliqué disparait
 
et là avec la solution que tu m'as proposé, quand je clique sur un lien de mon menu de gauche rien ne s'affiche dans la div de droite et le menu dans lequel j'ai cliqué disparait !!


---------------
"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 12-01-2005 à 15:25:11    

Xav_ a écrit :

qqun qui fait ça et qui n'a pas de fichier .htaccess à l'arrivée n'est pas très malin... je ne fais pas partie de ceux-là...


 
Salut,
 
un peu hors sujet là, mais comment un .htaccess empeche une inclusion?? Il ne protège que des accès web.....


Message édité par sub1 le 12-01-2005 à 15:27:17
Reply

Marsh Posté le 12-01-2005 à 15:28:10    

please no pollution !!! please


---------------
"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 12-01-2005 à 15:33:45    

sub1 a écrit :

Salut,
 
un peu hors sujet là, mais comment un .htaccess empeche une inclusion?? Il ne protège que des accès web.....


très juste, c'est pourquoi la page d'admin sur les sites que j'ai fait n'est jamais ouverte dans la pseudo-frame (donc l'include) mais dans une nouvelle fenetre/onglet sans aucune inclusion pour empecher ce genre de pb


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 16:34:43    

personne n'a une idée ?


---------------
"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 12-01-2005 à 16:41:35    

t'a moyen d'héberger le truc et de nousfiler l'url pour qu'on voit vraiment ce qui se passe ???


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 16:42:53    

non jsuis désolé j'ai pas de quoi heberger !!
 
mais je peux copier coller un peu plus que ce que j'ai fait si tu veux


---------------
"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 12-01-2005 à 17:02:56    

c'est pas ton code que je ne comprend pas, c'est le comportement obtenu et ce qui ne colle pas avec le comportement attendu... ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 17:11:41    

je vais recapituler en essaillant d'être compréhensible
ma page est divisé en plusieurs
- une div en haut qui prend une 20taine de % de la hauteur de la page
- les 80% restant sont divisé en 2 parties verticalement :  
   - une div gauche d'une 20taine de % aussi
   - une div droite avec l'espace restant
 
dans la div du haut j'ai un menu deroulant avec une petite 10aine de liens
dans ces liens, prenons un exemple, je clique sur "Formations", pas de problème, la div en bas à droite se rempli avec le menu que je souhaite qui est en fait une page htm plein de <li>. Maintenant, lrosque je clique sur un lien de mon menu de gauche j'aimerais que la page souhaitée s'affiche dans la div de droite en gardant le menu de gauche affiché. Mais cela n'est pas le cas, ma page s'affcihe bien à droite mais le menu de gauche s'efface !
 
Pour récapituler le scénario exemple :
 
Click sur un lien du menu du haut -> affichage de mon menu dans la div en bas à gauche -> click sur un lien de ce menu de gauche -> affichage de la page voulue dans la div en bas à droite mais disparition du menu de gauche !
 
voila
 
j'espere que c'est plus clair !!
 
merci bien


---------------
"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 12-01-2005 à 17:25:38    

Ben tu dois mettre dans les liens de ton menu de gauche ?gauche=lenomdelapagedumenu-html&droite=blabla

Reply

Marsh Posté le 12-01-2005 à 17:35:10    

Citation :

j'espere que c'est plus clair !!


tout à fait
 

Citation :

Ben tu dois mettre dans les liens de ton menu de gauche ?gauche=lenomdelapagedumenu-html&droite=blabla


tout à fait aussi
 
Quand tu clic à gauche tu donne une valeur $droite, mais comme la page se recharge $gauche est vide --> le menu disparait...
Tes liens de gauche doivent donc donner une valeur à $gauche ET une valeur à $droite (voir exemple de belgique)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-01-2005 à 19:07:06    

en fait c'est ce que je cherchais a faire mais je connais pas le qyntaxe
je fais ca demain au taf
 
merci pour votre aide !! c'est super sympa !!


---------------
"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 12-01-2005 à 22:05:14    

Je répète et je maintiens : évite de donner des noms comme "gauche" ou "droite". Si un jour tu décides que le menu doit être en haut, ça va faire bizarre une div "gauche" placée en haut.
 
Faut toujours penser à l'avenir, genre le jour où tu voudras modifier la mise en page. Ca serait idiot de devoir triturer le code XHTML, alors qu'en mettant des nom plus explicites, genre div id="menu" et div id="contenu", tu fait abstraction total de leur localisation géographique.

Reply

Marsh Posté le 13-01-2005 à 09:45:41    

merci ça marche


---------------
"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 13-01-2005 à 10:13:38    

au pire si tu as deux menu donc un principal, et un secondaire qui change selon selon le principal, 'menu_principal' et 'menu_secondaire" (ou plus court si tu veux ^^)


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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