Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1400 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Ouvrir une page dans un <div id=""> en XHTML ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ouvrir une page dans un <div id=""> en XHTML ?

n°1438288
snp
quand on sait pas, on se tait
Posté le 07-09-2006 à 13:37:27  profilanswer
 

Bonjour,
j'utilisais avant des frames pour faire mes sites :

  • frame haut = "banniere"
  • frame gauche = "menu"
  • frame droit = "corps"

Un clic sur un bouton du menu m'ouvrait dans mon frame "corps" la page demandé (<a href="toto.html">Toto</a> )
 
Seulement voilà, il parait qu'il vaut mieux arreter d'utiliser des frames :non: . Ce que je comprends  :jap: .
 
J'ai donc refait un site en virant les frames mais je ne sais pas comment ouvrir une page html dans un "cadre" (<div id="corps"> ).
voici un bout de code par exemple :

Code :
  1. <div id="menu">
  2. <div class="element_menu">
  3.  <a href="index.html" target="_top"><h1>MENU PRINCIPAL</h1></a>
  4.  <ul>
  5. <li><dt onmouseover="javascript:montre('smenu1');">Principes du dispositif</dt>
  6.   <div id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout= "javascript:montre('');">
  7.    <ul>
  8.     <li><a href="qui.htm#element_menu">Qui sommes-nous ?</a></li>
  9.     <li><a href="fonctionnement.htm" target="mainFrame">Fonctionnement</a></li>
  10.     <li><a href="soutien.htm" target="mainFrame">Soutien</a></li>
  11.     <li><a href="suivi.htm" target="mainFrame">Suivi professionnel</a></li>
  12.     <li><a href="accompagnement.htm" target="mainFrame">Accompagnement</a></li>
  13.     <li><a href="chiffres.htm" target="mainFrame">Chiffres</a></li>
  14.     <li><a href="temoignages.htm" target="mainFrame">Témoignages</a></li>
  15.    </ul>
  16.   </div>
  17. </div>
  18. </div>
  19. <div id="corps">
  20. <ul>
  21. </ul>
  22. </div>


Je ne trouve rien sur le net.
Quelqu'un peut-il m'aider SVP ??
 

mood
Publicité
Posté le 07-09-2006 à 13:37:27  profilanswer
 

n°1438295
boulax
Inserer phrase hype en anglais
Posté le 07-09-2006 à 13:53:18  profilanswer
 

premier exemple de n'importe quel tuto Php


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1438296
FlorentG
Unité de Masse
Posté le 07-09-2006 à 13:53:37  profilanswer
 

On peut pas. Faut tout recharger. C'est comme ça queça marche, toute autre tentative conduit obligatoirement à des problèmes...

n°1438305
snp
quand on sait pas, on se tait
Posté le 07-09-2006 à 14:05:23  profilanswer
 

on m'a dit d'essayer un truc du genre

Code :
  1. <a href="qui.htm#corps">Qui sommes-nous ?</a>


mais ça m'ouvre une nouvelle page...
 
boulax, tu parle de la fonction include c'est ça ?

n°1438307
FlorentG
Unité de Masse
Posté le 07-09-2006 à 14:06:34  profilanswer
 

On ne peut pas remplacer un fragment d'HTML par une page entière. On ne peut évidemment pas imbriquer deux documents, c'est une règle de base de l'HTML.
 
Il faut obligatoirement tout recharger. La page doit être composée côté serveur.

n°1438344
snp
quand on sait pas, on se tait
Posté le 07-09-2006 à 14:26:59  profilanswer
 

OK, bien compris.
du coup j'ai fait ça :

Code :
  1. <div id="corps">
  2. <?php
  3. include("accueil.php" );
  4. ?>
  5. </div>


 
et mon fichier accueil.php

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  3.    <head>
  4.        <title></title>
  5.  
  6.   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7.      <link rel="shortcut icon" type="image/x-icon" href="outils/images/grafic.ico" />
  8. </head>
  9.   <body>
  10. <ul>
  11. <center>
  12. Mon texte a afficher dans la partie appropriée...
  13. </ul>
  14. <img src="outils/images/tremplin.jpg" width="100%">
  15. </center>
  16.   </body>
  17. </html>


 
Par contre, comment créer mes liens ?


Message édité par snp le 07-09-2006 à 14:27:20
n°1438348
snp
quand on sait pas, on se tait
Posté le 07-09-2006 à 14:30:02  profilanswer
 

j'ai peur de comprendre....
quand FlorentG dit "Il faut obligatoirement tout recharger. La page doit être composée côté serveur." cela veut-il dire que je dois creer une page complete (avec menus, banniere, footer etc...) par lien ?


Message édité par snp le 07-09-2006 à 14:30:38
n°1438370
gen2
Posté le 07-09-2006 à 14:41:14  profilanswer
 

Dans ton fichier accueil.php, tu n'as pas à redéclarer ton doctype et les en-têtes.
En fait, cette page est incluse dans ta page principale (celle qui contient le include('accueil.php')).
 
Tu ne dois pas donc pas recréer ton menu et le reste pour chaque page. Tout ceci est fait dans la page principale.
Puis les pages comme accueil.php doivent contenir uniquement les éléments que tu souhaites afficher dans ton <div id="corps">.
 
Mais le fait est que toute la page sera rechargée à chaque fois que l'utilisateur souhaitera changer de page.
Ce n'est pas très génant puisque ta bannière et ton menu sont dans le cache du navigateur et ne nécessitent généralement qu'un temps de chargement négligeable.
 
Pour ne modifier que le contenu de la balise <div id="corps">, il faudrait utiliser l'objet javascript XMLHttpRequest. La bannière et le menu ne seraient alors plus rechargés à chaque fois mais c'est une solution plus complexe et qui présente un certain nombre d'inconvénients.

n°1438426
snp
quand on sait pas, on se tait
Posté le 07-09-2006 à 15:15:17  profilanswer
 

Merci gen2
OK donc pour le principe de l'inclusion, j'ai bien compris.
OK aussi pour le doctype et les en-têtes.
mais je ne comprends pas comment afficher un include dans mon <div id="corps"> en fonction d'un clic sur un lien.

n°1438496
snp
quand on sait pas, on se tait
Posté le 07-09-2006 à 16:01:40  profilanswer
 

en gros, je clic dans mon menu sur "toto" et je veux voir la page toto.php s'afficher dans mon <div id="corps">.
je comprends pas comment faire

mood
Publicité
Posté le 07-09-2006 à 16:01:40  profilanswer
 

n°1438549
snp
quand on sait pas, on se tait
Posté le 07-09-2006 à 16:39:45  profilanswer
 

up

n°1438671
gen2
Posté le 07-09-2006 à 18:56:12  profilanswer
 

Pour ça, tu dois passer le nom de ta page dans l'url.
 
Par exemple pour toto.php :
 
http://monsite.fr/index.php?page=toto
 
Et dans ton code PHP, tu auras quelque chose du genre :
 

Code :
  1. switch($_GET['page']) {
  2.     case 'toto':
  3.         include('toto.php');
  4.     break;
  5.     /* etc. */
  6. }

n°1438806
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 08:31:47  profilanswer
 

OK j'ai bien compris : merci pour l'astuce !
par contre, comment faire pour avoir une page par défaut dans mon div id=corps quand j'ouvre index.php ?
parce que là il me met dans ce div justement un undefined index !

n°1438807
esox_ch
Posté le 08-09-2006 à 08:36:43  profilanswer
 

Parceque à la ligne 0 gen2 a ecrit $_GET['page'] = (isset($_GET['page'])):$_GET['page']?'default'


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1438841
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 09:16:52  profilanswer
 

désolé mais je comprends pas.
peux-tu mettre le code complet stp dans

Code :
  1. <div id="corps">
  2. <?php
  3.  switch($_GET['page'])
  4.  {
  5.   case 'qui':
  6.    include('qui.htm');
  7.   break;
  8.  }
  9. ?>
  10. </div>

n°1438925
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 11:05:56  profilanswer
 

up svp

n°1439006
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 12:56:02  profilanswer
 

une petite explication SVP ?

n°1439014
boulax
Inserer phrase hype en anglais
Posté le 08-09-2006 à 13:03:35  profilanswer
 

T'es un vrau boulet toi hein :)
 

Code :
  1. <?php
  2.                 switch($_GET['page'])
  3.                 {           
  4.                            case 'qui':
  5.                                     include('qui.htm');
  6.                            break;
  7.                            default:
  8.                                     include('blabla.htm');
  9.                            break;
  10.                 }   
  11. ?>


 
http://www.php.net


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1439024
esox_ch
Posté le 08-09-2006 à 13:21:08  profilanswer
 

boulax a écrit :

T'es un vrau boulet toi hein :)
 

Code :
  1. <?php
  2.                 switch($_GET['page'])
  3.                 {           
  4.                            case 'qui':
  5.                                     include('qui.htm');
  6.                            break;
  7.                            default:
  8.                                     include('blabla.htm');
  9.                            break;
  10.                 }   
  11. ?>


 
http://www.php.net


 
En l'occurence le boulet c'est toi, parceque tu controles nulle part que $_GET['page'] existe, du coups tu risques de te manger un joli undefined index ... Bon appetit


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1439031
boulax
Inserer phrase hype en anglais
Posté le 08-09-2006 à 13:27:29  profilanswer
 

ok :)
faut faire un if avant :)
lol :)


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1439039
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 13:33:00  profilanswer
 

oui j'en suis un !
mais je n'y arrive vraiment pas : undefined index !
voici ce que j'ai comme code dans ma partie php :

Code :
  1. <div id="corps">
  2. <?php
  3. switch ($_GET['page'])
  4.  {
  5.   default:
  6.    include('main.htm');
  7.   break;
  8.   case 'qui':
  9.    include('qui.htm');
  10.   break;
  11.   case 'fonctionnement':
  12.    include('fonctionnement.htm');
  13.   break;
  14.   case 'soutien':
  15.    include('soutien.htm');
  16.   break;
  17.   case 'suivi':
  18.    include('suivi.htm');
  19.   break;
  20.   case 'qui':
  21.    include('qui.htm');
  22.   break;
  23.   case 'qui':
  24.    include('qui.htm');
  25.   break;
  26.   case 'qui':
  27.    include('qui.htm');
  28.   break;
  29.   case 'qui':
  30.    include('qui.htm');
  31.   break;
  32.   case 'qui':
  33.    include('qui.htm');
  34.   break;
  35.   case 'qui':
  36.    include('qui.htm');
  37.   break;
  38.   case 'qui':
  39.    include('qui.htm');
  40.   break;
  41.   case 'qui':
  42.    include('qui.htm');
  43.   break;
  44.  }
  45. ?>
  46. </div>


n°1439043
boulax
Inserer phrase hype en anglais
Posté le 08-09-2006 à 13:33:57  profilanswer
 

interressant.
 
Donc vraiment tu veux toujours pas te documenter ?


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1439048
boulax
Inserer phrase hype en anglais
Posté le 08-09-2006 à 13:37:31  profilanswer
 

Pourquoi 50 fois le case 'qui' ??
Le default au début hum pas bien...
 
Undefined index ça veut dire: index indéfini. T'as vraiment aucune idée d'ou ça pourrait venir et comment y remédier ?


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1439080
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 14:03:28  profilanswer
 

Merci pr ta patience boulax !
pour les 50 'qui' c'est du copier coller qui va me servir pour mes menus (j'aurai juste a modifier le 'qui' par le nom de ma page.
je suppose que je dois déclarer ma variable 'page' mais je ne vois pas comment....les if isset ne semble pas marcher...
mais j'avoue etre un boulet en effet...
pourquoi le default au début c'est pas bien ??


Message édité par snp le 08-09-2006 à 14:35:22
n°1439130
gen2
Posté le 08-09-2006 à 15:10:30  profilanswer
 

Le principe de fonctionnement du siwtch fait qu'il vaut mieux mettre ton default à la fin si tu veux que ça marche.
 
Sinon pour ton code, en version un peu plus complète ça donne à peu près ça :

Code :
  1. if(!isset($_GET['page']) {
  2.     $page = 'main.html';
  3. } else {
  4.     switch($_GET['page']) {
  5.         case 'qui' :
  6.             $page = 'qui.html';
  7.         break;
  8.         /* etc */
  9.         default:
  10.             $page = 'main.html';
  11.     }
  12. }
  13. include($page);

n°1439146
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 15:28:53  profilanswer
 

ça me gonfle grave tout ça, si vous saviez !!
merci en tout cas gen2 !
mais.....j'ai un parse error sur ta ligne 1

n°1439149
boulax
Inserer phrase hype en anglais
Posté le 08-09-2006 à 15:31:25  profilanswer
 

Arrete l'informatique


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1439150
boulax
Inserer phrase hype en anglais
Posté le 08-09-2006 à 15:31:51  profilanswer
 

ou commence


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1439161
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 15:39:12  profilanswer
 

désolé mais je débute, c'est du loisir ce que je fais, c'est pas mon job !
j'essais de faire ce que je peux....

n°1439170
boulax
Inserer phrase hype en anglais
Posté le 08-09-2006 à 15:43:58  profilanswer
 

Bah commence par les bases bordel [:mlc]
 
Apprends VRAIMENT la syntaxe d'un langage (en te DO-CU-MEN-TANT), apprends qu'en général ont doit refermer une parenthèse ouverte, apprends à lire les erreurs que le programme te renvoi, sinon dans 2 semaines t'en seras toujours au même niveau !


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1439175
esox_ch
Posté le 08-09-2006 à 15:48:47  profilanswer
 

Boulax et gen2, vous avez raison sur le fond, mais faudrait arreter de donner des exemples foireux ... genre Gen2 ca se voit que t'a oublier un ) a la 1ere ligne ... Du coups ca aide pas vraiment un ultra debutant ...
 
Parcontre snp effectivement tu *dois* lire la doc avant de venir poser tes questions qui sont ,je te l'assure, totalement basique


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1439179
snp
quand on sait pas, on se tait
Posté le 08-09-2006 à 15:51:45  profilanswer
 

j'y crois pas....je les avais comptées pourtant !!!!!!!!!!!
VRAIMENT UN GRAND MERCI !!!!

n°1439351
gen2
Posté le 08-09-2006 à 21:40:06  profilanswer
 

esox_ch a écrit :

Boulax et gen2, vous avez raison sur le fond, mais faudrait arreter de donner des exemples foireux ... genre Gen2 ca se voit que t'a oublier un ) a la 1ere ligne ... Du coups ca aide pas vraiment un ultra debutant ...
 
Parcontre snp effectivement tu *dois* lire la doc avant de venir poser tes questions qui sont ,je te l'assure, totalement basique


 
Excuse moi d'avoir été poli avec snp, de l'avoir conseillé et de lui avoir fourni des exemples de codes, de ne pas avoir installé un serveur apache sur ma machine ainsi qu'un interpréteur PHP pour tester mes 3 lignes de codes. Non vraiment je suis désolé.
 
Promis j'aiderai plus les débutants avec mes exemples de codes foireux.
Sur ce bonne soirée  :hello:  

n°1439358
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 08-09-2006 à 21:56:17  profilanswer
 

FlorentG a écrit :

On ne peut pas remplacer un fragment d'HTML par une page entière. On ne peut évidemment pas imbriquer deux documents, c'est une règle de base de l'HTML.
 
Il faut obligatoirement tout recharger. La page doit être composée côté serveur.


Si on peut.  :o  
Sur IE depuis 98 et sur les autres navigateur depuis peu.
Mais comme MS c'est le mal on va zapper IE, on va dire que c'est les autres navigateurs qui l'ont inventé et on va appeler ça le Web 2.0, tout neuf, tout propre, nettoyé à l'Ajax (jeudemotpourriteinsidequejayhontedelavoirfé)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Ouvrir une page dans un <div id=""> en XHTML ?

 

Sujets relatifs
[Resolu]C# Ouvrir un fichier via double click à partir de mon appliLien vers une page : pb de syntaxe
[Access] Imprimer plusieurs états sur une même page[JS] executer un javascript quand on reactualise la page
Entête de page avec deux images, css, ie et ff sont dans un bateau...Ouvrir une vidéo quicktime dans une nouvelle fenetre
Problème de validation XHTMLCreer un forum sur sa page perso
Récupérer les données dans une autre page [Résolu]comment ouvrir un lien et executer un fichier php en parallele
Plus de sujets relatifs à : Ouvrir une page dans un <div id=""> en XHTML ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR