Problème div et include [PHP] - PHP - Programmation
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...
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...
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é
Donc vincegr, dans tes autres pages, y'a bien juste le contenu des bonnes div ?
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é |
Tiens, j'avais mal lu...ne pas tenir compte de mes posts précédents!
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é
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é |
oui j'ai DOCTYPE dans mes pages
Marsh Posté le 05-01-2005 à 16:26:46
non désolé c'est tellement pas finalisé que c'est pas mettable en ligne
Marsh Posté le 05-01-2005 à 16:28:11
Et c'est quoi la nouvelle page qui recouvre celle de droite ?
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>
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.
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 !!
Marsh Posté le 05-01-2005 à 16:43:51
vincegr a écrit : je m'en doutais un peu |
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!
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 !!
Marsh Posté le 05-01-2005 à 17:24:31
vincegr a écrit : |
Bah si tu as compris comment ça fonctionne, je vois pas ce qui te pose problème...
Par exemple étant donné que ton include est en plein milieu de ta page, ton fichier inclus ne devra pas contenir tes :
Code :
|
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...
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 !
Marsh Posté le 06-01-2005 à 15:29:09
vincegr a écrit : j'ai fais des modifs |
si ton formation.php contient toujours les <html> <head> etc. c'est normal, hein...
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?
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 ?
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...
Marsh Posté le 06-01-2005 à 15:59:26
Code :
|
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...
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
Marsh Posté le 06-01-2005 à 16:14:00
vincegr a écrit : ouai mais ça c'est ok |
Alors file le code que te donne le browser pour cette page-là!!
Marsh Posté le 06-01-2005 à 16:15:49
vincegr a écrit : ouai mais ça c'est ok |
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
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
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)