Ouvrir une page dans un <div id=""> en XHTML ? - HTML/CSS - Programmation
Marsh Posté le 07-09-2006 à 13:53:18
premier exemple de n'importe quel tuto Php
Marsh Posté le 07-09-2006 à 13:53:37
On peut pas. Faut tout recharger. C'est comme ça queça marche, toute autre tentative conduit obligatoirement à des problèmes...
Marsh Posté le 07-09-2006 à 14:05:23
on m'a dit d'essayer un truc du genre
Code :
|
mais ça m'ouvre une nouvelle page...
boulax, tu parle de la fonction include c'est ça ?
Marsh Posté le 07-09-2006 à 14:06:34
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.
Marsh Posté le 07-09-2006 à 14:26:59
OK, bien compris.
du coup j'ai fait ça :
Code :
|
et mon fichier accueil.php
Code :
|
Par contre, comment créer mes liens ?
Marsh Posté le 07-09-2006 à 14:30:02
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 ?
Marsh Posté le 07-09-2006 à 14:41:14
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.
Marsh Posté le 07-09-2006 à 15:15:17
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.
Marsh Posté le 07-09-2006 à 16:01:40
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
Marsh Posté le 07-09-2006 à 18:56:12
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 :
|
Marsh Posté le 08-09-2006 à 08:31:47
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 !
Marsh Posté le 08-09-2006 à 08:36:43
Parceque à la ligne 0 gen2 a ecrit $_GET['page'] = (isset($_GET['page'])):$_GET['page']?'default'
Marsh Posté le 08-09-2006 à 09:16:52
désolé mais je comprends pas.
peux-tu mettre le code complet stp dans
Code :
|
Marsh Posté le 08-09-2006 à 13:03:35
T'es un vrau boulet toi hein
Code :
|
Marsh Posté le 08-09-2006 à 13:21:08
boulax a écrit : T'es un vrau boulet toi hein
|
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
Marsh Posté le 08-09-2006 à 13:27:29
ok
faut faire un if avant
lol
Marsh Posté le 08-09-2006 à 13:33:00
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 :
|
Marsh Posté le 08-09-2006 à 13:33:57
interressant.
Donc vraiment tu veux toujours pas te documenter ?
Marsh Posté le 08-09-2006 à 13:37:31
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 ?
Marsh Posté le 08-09-2006 à 14:03:28
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 ??
Marsh Posté le 08-09-2006 à 15:10:30
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 :
|
Marsh Posté le 08-09-2006 à 15:28:53
ça me gonfle grave tout ça, si vous saviez !!
merci en tout cas gen2 !
mais.....j'ai un parse error sur ta ligne 1
Marsh Posté le 08-09-2006 à 15:31:25
Arrete l'informatique
Marsh Posté le 08-09-2006 à 15:31:51
ou commence
Marsh Posté le 08-09-2006 à 15:39:12
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....
Marsh Posté le 08-09-2006 à 15:43:58
Bah commence par les bases bordel
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 !
Marsh Posté le 08-09-2006 à 15:48:47
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
Marsh Posté le 08-09-2006 à 15:51:45
j'y crois pas....je les avais comptées pourtant !!!!!!!!!!!
VRAIMENT UN GRAND MERCI !!!!
Marsh Posté le 08-09-2006 à 21:40:06
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 ... |
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
Marsh Posté le 08-09-2006 à 21:56:17
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. |
Si on peut.
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é)
Marsh Posté le 07-09-2006 à 13:37:27
Bonjour,
j'utilisais avant des frames pour faire mes sites :
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 . Ce que je comprends .
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 :
Je ne trouve rien sur le net.
Quelqu'un peut-il m'aider SVP ??