Frame contre include()
canard
-
canard -
canard -
Bonjour,
Je viens ici parce que j'ai un soucie qui, je suis sur, n'en est même pas un.
je m'explique,
j'ai fait il y a un certain temps un site web avec des frames. et les frames c'est moche. Donc mon site se présentent sous forme d'un tableau contenant mon entête et un menu horizontal. sous ce tableau y a ma frame avec un contenu variable (toujours sous forme de tableau). c'est on ne peut plus simple comme architecture.
Donc moi ce que je veux faire c'est virer ma frame et mettre a la place un système d'include en php pour pouvoir optimiser mes opérations de maintenance. Si j'ai bien compris, je dois donc inclure au dessus de mes contenus (qui sont des frames actuellement) une ligne de code du genre ?php include('monmenu.inc.php'); ?>.
Moi j'ai fait une page "globale.php" dans lequel j'ai mis un tableau à 2 lignes. sur la ligne du haut j'ai inclus mon menu et sur la ligne du bas mon contenu.
Mais ça marche pas. dès que j'inclus le menu dans le tableau de la page "globale", ce dernier disparaît au profits du menu, et je ne peux rajouter rien d'autre. Je comprend vraiment rien a rien a tout ça donc si vous arrivez a comprendre et m'expliquer mon probleme, parler un langage de débutant profond.
Voila merci bcp
Je viens ici parce que j'ai un soucie qui, je suis sur, n'en est même pas un.
je m'explique,
j'ai fait il y a un certain temps un site web avec des frames. et les frames c'est moche. Donc mon site se présentent sous forme d'un tableau contenant mon entête et un menu horizontal. sous ce tableau y a ma frame avec un contenu variable (toujours sous forme de tableau). c'est on ne peut plus simple comme architecture.
Donc moi ce que je veux faire c'est virer ma frame et mettre a la place un système d'include en php pour pouvoir optimiser mes opérations de maintenance. Si j'ai bien compris, je dois donc inclure au dessus de mes contenus (qui sont des frames actuellement) une ligne de code du genre ?php include('monmenu.inc.php'); ?>.
Moi j'ai fait une page "globale.php" dans lequel j'ai mis un tableau à 2 lignes. sur la ligne du haut j'ai inclus mon menu et sur la ligne du bas mon contenu.
Mais ça marche pas. dès que j'inclus le menu dans le tableau de la page "globale", ce dernier disparaît au profits du menu, et je ne peux rajouter rien d'autre. Je comprend vraiment rien a rien a tout ça donc si vous arrivez a comprendre et m'expliquer mon probleme, parler un langage de débutant profond.
Voila merci bcp
A voir également:
- Frame contre include()
- Photo frame studio - Télécharger - Retouche d'image
- Frame host c'est quoi ✓ - Forum HTML
- Good frame - Télécharger - Photo & Graphisme
- Frame network 2.0 - Télécharger - Divers Utilitaires
- Frame host ✓ - Forum Windows
10 réponses
Bonjour,
Première chose que tu pourrai faire c'est nous mettre ton code des différentes pages que tu assembles via include.
Ensuite plutôt qu'une mise en page en tableau que tu sembles mentionner, renseigne toi sur CSS pour faire une mise en page avec des div.
Tu peux regarder ce lien pour t'aider: http://doc.arthezius.fr
Pour finir, quitte à utiliser des includes, autant optimiser la navigation. Fait une page type: entete+menu+pied de page pour avoir seulement un contenu variable dans cette même page. Autrement dit des pseudo-frame en php.
Voir ce lien: http://phpdebutant.org/article68.php
Première chose que tu pourrai faire c'est nous mettre ton code des différentes pages que tu assembles via include.
Ensuite plutôt qu'une mise en page en tableau que tu sembles mentionner, renseigne toi sur CSS pour faire une mise en page avec des div.
Tu peux regarder ce lien pour t'aider: http://doc.arthezius.fr
Pour finir, quitte à utiliser des includes, autant optimiser la navigation. Fait une page type: entete+menu+pied de page pour avoir seulement un contenu variable dans cette même page. Autrement dit des pseudo-frame en php.
Voir ce lien: http://phpdebutant.org/article68.php
devellope les parties de ton site de façons indépendantes et rassemblent les dans ton index.php, c'est une manière simple et propre.
je fais un exemple rapide avec des tables sans css :
hautdepage.htm :
<table width="750px height="150px">
<tr><td>bannière</td></tr>
</table>
basdepage.htm :
<table width="750px" height="150px"><
<tr><td>footer</td></tr>
</table>
Maintenant dans ton index.php :
<?php include('hautdepage.php');?>
<table width="750px">
<tr><td>Le Contenu de ton site</td></tr>
</table>
<?php include('basdepage.php');?>
ça reste un exemple simple pour comprendre le principe, en éspérant que ça t'aideras ;)
je fais un exemple rapide avec des tables sans css :
hautdepage.htm :
<table width="750px height="150px">
<tr><td>bannière</td></tr>
</table>
basdepage.htm :
<table width="750px" height="150px"><
<tr><td>footer</td></tr>
</table>
Maintenant dans ton index.php :
<?php include('hautdepage.php');?>
<table width="750px">
<tr><td>Le Contenu de ton site</td></tr>
</table>
<?php include('basdepage.php');?>
ça reste un exemple simple pour comprendre le principe, en éspérant que ça t'aideras ;)
voila c'est ça que je voulais faire en fait, sauf que ton exemple, bien j'y comprend pas grand chose en fait. enfin sur le fond je le comprend sans probleme, mais j'ai essayé de l'appliquer et finalement ça revient du chinois quand je me retrouve devant mon soft. Est ce que ce serait possible de me faire le même exemple mais en heu... mettant le code des 3 fichier en entier. Là je suis sur d'arriver à le refaire du coup. Mais je sais que j'en demande bcp là, donc si tu le fais pas je comprendrai.
sinon merci de vos réponses.
sinon merci de vos réponses.
Cette méthode est des plus basiques mais ça te force à refaire à chaque page la structure de la page.
Ma méthode (voir plus haut) reprends le principe même des frames de manière optimisé.
Si tu veux d'avantage d'explications, hésite pas à me demander.
Ma méthode (voir plus haut) reprends le principe même des frames de manière optimisé.
Si tu veux d'avantage d'explications, hésite pas à me demander.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La fonction include() de php est très souple et peut être très puissante si on l'utilise en combinaison avec d'autres fonctions php.
Grosso modo, une page type utilisant les includes est un assemblage de 3 pages (comme pour les frames html):
-haut_de_page.htm
-menu.htm
-contenu.htm
*Nota: on est pas obligé d'inclure des fichiers html, on peut inclure ce qu'on veut en fait.
Ensuite, dans la page principale (ici index.php) on réuni les 3 autres pages (exactement comme pour les frames html):
--------------------------------
<?php
include('haut_de_page.htm');
include('menu.htm');
include('contenu.htm');
?>
--------------------------------
Pour agencer/positionner le tout sur la page, on peut utiliser du html (tableau, paragraphe, etc.) ou du CSS (via les balises <div>).
Le plus simple est encore d'utiliser du CSS et de mettre les balises <div> qui appelleront les classes directement dans les 3 pages. De cette façon, la page "index.php" ne contiendra pas plus de code que l'exemple que j'ai mis plus haut.
Si on utilise du html, alors il faut modifier un peu le code:
Avec un tableau:
--------------------------------
Comme je l'ai dit au début, cependant, la fonction include() peut être très puissante et est très souple.
Sur le site http://www.phpdebutant.org on retrouve un système de template via les includes (dans le tutoriel sur les includes) qui montre comment utiliser un structure unique d'affichage et y inclure un contenu différent en fonction d'un lien index.php?page=page_a_afficher
L'idéal reste encore, cependant, de suivre un tutoriel sur le php, pour ça je recommandes 2 sites:
-https://openclassrooms.com/fr/
===> SiteduZér0.com: comme le nom l'indique, s'adressent aux zér0s quoique même les initiés vont y trouver des infos utiles. Méthode d'apprentissage très rapide.
-http://www.phpdebutant.org
===> PHP débutants: tutoriels davantage axés sur la pratique et qui s'adressent à ceux qui ont une petite base en programmation web (html/css, connaissance de base en php)
Grosso modo, une page type utilisant les includes est un assemblage de 3 pages (comme pour les frames html):
-haut_de_page.htm
-menu.htm
-contenu.htm
*Nota: on est pas obligé d'inclure des fichiers html, on peut inclure ce qu'on veut en fait.
Ensuite, dans la page principale (ici index.php) on réuni les 3 autres pages (exactement comme pour les frames html):
--------------------------------
<?php
include('haut_de_page.htm');
include('menu.htm');
include('contenu.htm');
?>
--------------------------------
Pour agencer/positionner le tout sur la page, on peut utiliser du html (tableau, paragraphe, etc.) ou du CSS (via les balises <div>).
Le plus simple est encore d'utiliser du CSS et de mettre les balises <div> qui appelleront les classes directement dans les 3 pages. De cette façon, la page "index.php" ne contiendra pas plus de code que l'exemple que j'ai mis plus haut.
Si on utilise du html, alors il faut modifier un peu le code:
Avec un tableau:
--------------------------------
<html> <head> <title>Ma Page!</title> </head> <body> <table> <tr> <td colspan="2"> <?php include('haut_de_page.htm'); ?> </td> </tr> <tr> <td> <?php include('menu.htm'); ?> </td> <td> <?php include('contenu.htm'); ?> </td> </tr> </table> </body> </html>
Comme je l'ai dit au début, cependant, la fonction include() peut être très puissante et est très souple.
Sur le site http://www.phpdebutant.org on retrouve un système de template via les includes (dans le tutoriel sur les includes) qui montre comment utiliser un structure unique d'affichage et y inclure un contenu différent en fonction d'un lien index.php?page=page_a_afficher
L'idéal reste encore, cependant, de suivre un tutoriel sur le php, pour ça je recommandes 2 sites:
-https://openclassrooms.com/fr/
===> SiteduZér0.com: comme le nom l'indique, s'adressent aux zér0s quoique même les initiés vont y trouver des infos utiles. Méthode d'apprentissage très rapide.
-http://www.phpdebutant.org
===> PHP débutants: tutoriels davantage axés sur la pratique et qui s'adressent à ceux qui ont une petite base en programmation web (html/css, connaissance de base en php)
ok merci pour toutes vos réponses.
En fait je crois que depuis le début j'ai bon au niveau du code et je pense que mon problème vient plus de mon simulateur de serveur (MAMP). Puisque même avec le code d'arthezius je me retrouve avec dreamweaver qui me dit, lorsque je clique sur live data, "une erreur c'est produite lors de la demande du document auprès du serveur d'évaluation", suivie d'un chiffre : 4.
puis quand j'essaie d'ouvrir ma page avec safari (en veillant bien à ce que MAMP fonctionne), mais en lieu et place de mon contenu je me retrouve encore avec du charabia : "4
En fait je crois que depuis le début j'ai bon au niveau du code et je pense que mon problème vient plus de mon simulateur de serveur (MAMP). Puisque même avec le code d'arthezius je me retrouve avec dreamweaver qui me dit, lorsque je clique sur live data, "une erreur c'est produite lors de la demande du document auprès du serveur d'évaluation", suivie d'un chiffre : 4.
puis quand j'essaie d'ouvrir ma page avec safari (en veillant bien à ce que MAMP fonctionne), mais en lieu et place de mon contenu je me retrouve encore avec du charabia : "4
Sur le site http://www.phpdebutant.org on retrouve un système de template via les includes (dans le tutoriel sur les includes) qui montre comment utiliser un structure unique d'affichage et y inclure un contenu différent en fonction d'un lien index.php?page=page_a_afficher
Cricri, l'exemple que tu cite sur phpdebutant.org est très précisement celui dont j'ai parlé plus haut.
J'avais rajouter un ça un tutoriel de mon site pour réaliser une mise en page en XHTML et avec CSS qui soit conforme au W3C et sans problème de compatibilité entre navigateur.
Réaliser une mise en page avec des tableaux ne peux qu'allourdir concidérablement le code. Il n'y a qu'a voir le lien que j'avais mis pour s'en rendre compte.
Sinon en ce qui concerne Mamp, ça doit être comme pour easyphp et wamp. Il faut normalement mettre tes pages dans un dossier www dans les dossiers du logiciel et mettre un page index.html ou index.php. Ainsi en mettant localhost/ comme url tu arrivera directement dessus.
Non mais là j'ai mis mon site de coté et j'essaie déjà de faire marcher des fichiers bête et méchant en suivant les tutos que je trouve un peu partout, mais rien n'y fais. enfin bref je travaille en local là.
en gros pour mes essaies j'ai un fichier index.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
<title>Ma Page!</title>
</head>
<body>
<table>
<tr>
<td colspan="2">
<?php
include('menu.html');
?>
</td>
</tr>
</table>
</body>
</html>
puis le fichier menu.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
</head>
<body>
<table height="114" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10" height="114" bgcolor="#9E9D9D"> </td>
<td width="146" height="114"><img src="Image/menu/logo.gif" alt="g" width="146" height="114" /></td>
<td width="177" height="114"><img src="Image/menu/gauchelogo.gif" alt="g" width="177" height="114" /></td>
<td width="127" height="114"><img src="Image/menu/gite1.gif" alt="g" width="127" height="114" /></td>
<td width="165" height="114"><img src="Image/menu/gite2.gif" alt="g" width="165" height="114" /></td>
<td width="215" height="114"><img src="Image/menu/gite3.gif" alt="g" width="215" height="114" /></td>
<td width="10" bgcolor="#9E9D9D"> </td>
</tr>
</table>
<table width="850" border="0" align="center" cellpadding="0" cellspacing="0">
<tr></tr>
</table>
<table height="30" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10" height="30" bgcolor="#9E9D9D"> </td>
<td><img src="Image/menu/accueil.gif" alt="g" width="69" height="30" /></td>
<td><img src="Image/menu/legite.gif" alt="g" width="77" height="30" /></td>
<td><img src="Image/menu/chambrehote.gif" alt="g" width="177" height="30" /></td>
<td><img src="Image/menu/notreregion.gif" alt="g" width="127" height="30" /></td>
<td><img src="Image/menu/loisiractivite.gif" alt="g" width="165" height="30" /></td>
<td><img src="Image/menu/tarifs.gif" alt="g" width="66" height="30" /></td>
<td><img src="Image/menu/acces.gif" alt="g" width="67" height="30" /></td>
<td><img src="Image/menu/contacts.gif" alt="gg" width="82" height="30" /></td>
<td width="10" bgcolor="#9E9D9D"> </td>
</tr>
</table>
<p> </p>
</body>
</html>
et apparemment ça marche pas.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
<title>Ma Page!</title>
</head>
<body>
<table>
<tr>
<td colspan="2">
<?php
include('menu.html');
?>
</td>
</tr>
</table>
</body>
</html>
puis le fichier menu.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
</head>
<body>
<table height="114" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10" height="114" bgcolor="#9E9D9D"> </td>
<td width="146" height="114"><img src="Image/menu/logo.gif" alt="g" width="146" height="114" /></td>
<td width="177" height="114"><img src="Image/menu/gauchelogo.gif" alt="g" width="177" height="114" /></td>
<td width="127" height="114"><img src="Image/menu/gite1.gif" alt="g" width="127" height="114" /></td>
<td width="165" height="114"><img src="Image/menu/gite2.gif" alt="g" width="165" height="114" /></td>
<td width="215" height="114"><img src="Image/menu/gite3.gif" alt="g" width="215" height="114" /></td>
<td width="10" bgcolor="#9E9D9D"> </td>
</tr>
</table>
<table width="850" border="0" align="center" cellpadding="0" cellspacing="0">
<tr></tr>
</table>
<table height="30" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10" height="30" bgcolor="#9E9D9D"> </td>
<td><img src="Image/menu/accueil.gif" alt="g" width="69" height="30" /></td>
<td><img src="Image/menu/legite.gif" alt="g" width="77" height="30" /></td>
<td><img src="Image/menu/chambrehote.gif" alt="g" width="177" height="30" /></td>
<td><img src="Image/menu/notreregion.gif" alt="g" width="127" height="30" /></td>
<td><img src="Image/menu/loisiractivite.gif" alt="g" width="165" height="30" /></td>
<td><img src="Image/menu/tarifs.gif" alt="g" width="66" height="30" /></td>
<td><img src="Image/menu/acces.gif" alt="g" width="67" height="30" /></td>
<td><img src="Image/menu/contacts.gif" alt="gg" width="82" height="30" /></td>
<td width="10" bgcolor="#9E9D9D"> </td>
</tr>
</table>
<p> </p>
</body>
</html>
et apparemment ça marche pas.