utilisation de include

WRInaute accro
Bonjour,

débutant en matiere de PHP, je voudrais connaitre le mode de fonctionnement de la fonction include.

en bref, je voudrais réaliser un site d une 30aine de pages avec une "entete" comune (type navigation), mais sans utiliser de frame.

est-ce que quelqu un pourrait m indiquer la marche a suivre pour utiliser cette fonction ?

merci !
a+
hervé
 
WRInaute passionné
Bonjour herveg,

tu écris le code de ton entête (en html ou) php et dans tes scripts php tu appelles l'entête par
Code:
$retour = @include('chemin/entete.php');
if ( ! $retour )
// mettre ici le code si l'include ne marche pas
Tu peux en faire de même pour toutes les parties communes de tes pages.
 
WRInaute occasionnel
Voici comment je procéde .
Découpe ton graphique ainsi.

______________________
hautpage.php l cela te permet de modifier à volonté header et menu
___________________l
l
l tu decoupe donc ton graphique en prenant le header et le menu gauche
l
l
l
__ l



le contenu "index.php " (le centre de ton graphique)
_______________
l tes meta
l
l <?php include("hautpage.php"); ?> l
l l
l ton contenu l
l l
l l
l____<?php include("baspage.php"); ?>




ton baspage.php
l l
l l le menu droit et le bas du
l l graphique
__________________l l
l ____________________l


j'espére avoir ete assez clair .
L'importance des meta dans le contenu te permet de changer faiclement le titre et les mots cles pour chaque page.

donc

head
title
meta
/head

include
ton contenu
include

Voilà


André
 
Nouveau WRInaute
Bonjour,

J'ai essayé se que tu proposes André mais j'ai un petit problème :
En fonction de l'emplacement de ma page principale avec mon contenu, les images des fichiers inclu ne s'affichent pas toujours. En effet, si la page de contenu se trouve dans un sous dossier, une autre dans une sous-sous dossier,... ça pause problème.

Est-ce qu'il n'y a pas une autre méthode ?
 
WRInaute accro
bon, j ai reussi mes premiers pas "include" grace a vous ! merci ! quand je pense au temps que j ai passé a faire mes menus sans includes avant.....a chaque modif de liens, etc...pffffff :)

autres questions :

1) si ma page index par exemple est construite avec un include en en-tete et un include bas de page. j´ai donc trois page : haut.php, index.php et bas.php
chacune des pages a un contenu et des balises donc ? entre autres chacune a un title par exemple. avec les deux include, la page générée se retrouve avec trois title ? c est ca ? ou seulement celui de index.php ?

2) les trois pages en question seront placées sur mon serveur. Est-ce que ces trois pages vont etre référencées indépendamment ? cela pourrait alors faire apparaitre dans les resultats juste un menu, ou un bas de page ?

merci et a+
hervé
 
WRInaute passionné
Bonjour

herveG a dit:
1) si ma page index par exemple est construite avec un include en en-tete et un include bas de page. j´ai donc trois page : haut.php, index.php et bas.php
chacune des pages a un contenu et des balises donc ? entre autres chacune a un title par exemple. avec les deux include, la page générée se retrouve avec trois title ? c est ca ? ou seulement celui de index.php ?

Ouch, grosse erreur ;) Tu ne fois pas mettre de balise HTML, HEAD, BODY, etc. dans les pages que tu inclues, puisqu'un include() équivaut à un copier/coller du code et au final tu te retrouverais avec un code complètement invalide (que des navigateurs bien codés refuseraient d'afficher...).

Tu dois juste mettre le contenu à inclure, de façon à ce que l'assemblage des 3 fichiers donne un code source correct.

Du genre :

*** index.php ***
<html>
<head>
<title>test</title>
</head>
< body>
<?php include('titre.php'); ?>
<?php include('corps.php'); ?>
< /body>
</html>

*** titre.php ***
<h1>TITRE</h1>

*** corps.php ***
<p>Corps de la page</p>

Bien sûr, tu peux agencer ça comme tu veux, l'important est juste de garder à l'esprit que tous les codes sources mis bout à bout donnent un code cohérent et valide (ne pas avoir plusieurs balises TITLE ou HEAD ou BODY, donc)

herveG a dit:
2) les trois pages en question seront placées sur mon serveur. Est-ce que ces trois pages vont etre référencées indépendamment ? cela pourrait alors faire apparaitre dans les resultats juste un menu, ou un bas de page ?

Les pages ne peuvent être référencées séparément que si tu as des liens qui pointent vers les fichiers inclus. Sinon, Google se comporte comme n'importe quel internaute, il ne verra que le résultat final, à savoir avec l'exemple précédent :

*** index.php ***
<html>
<head>
<title>test</title>
</head>
< body>
<h1>TITRE</h1>
<p>Corps de la page</p>
< /body>
</html>

Fred

(edit : tiens, les balises BODY ne sont pas affichées dans le message ?! Je mets donc < body> à la place)
 
WRInaute occasionnel
C'est ta page index qui doit possédé tes balises title, html , meta car comme tes includes de haut et bas_page.php qui ne sont en fait pas des pages , mais 2 parties de ta page construite.
Donc aucune balise dans ces (pages)
Ne t'inquiéte pas ton code sera reconstruit comme si tu n'avais fait qu'une seule page.


André
 
WRInaute accro
je comprends mieux ! donc, je vais enlever toutes les balises dont vous parlez. ca me semblait un peu compliqué sinon, c est vrai..... :)

bon, j espere pouvoir mettre mes premiers resultats en ligne bientot, vous pourrez alors me dire ce que vous en pensez.....

merci!
a+
Hervé
 
WRInaute discret
Euh, je comprend pas la :)
Vous voulez dire que si on met les meta etc... dans un include, elle ne serons pas lu aussi bien?

Moi je met tout simplement tout ce qui de <html> jusqu'a <body> dans une page top.php que j'include dans index.php
Ensuite j'include bas.php qui contient tout de </body> a </html>

Pour le menu, suffit de faire un include ou tu veut ton menu dans la page index.php

Enfin, j'espere pas avoir repeter du deja dit lol

V'la :)
 
WRInaute accro
en faisant ca, d apres ce que j ai compris, ton fichier html reconstitué comportera alors des balises en "double" voir "triple" exemplaire (suivant le nombre de include que tu utilises). hors plusieur balises html ouvertes ou fermées, plusieurs body, plusieurs title, etc.....c est pas bon apparemment. voila...

a+
Hervé
 
WRInaute discret
Slt :)
Ben quand je fais un apercu du code source de la page, c'est pas du tout le cas...

Enfin, je veut pas contredir des specialiste ;)

M'enfin, je vais revoir tout ca, et verifier mes propos ;)
 
WRInaute passionné
Je crois qu'il y a confusion, là. Bien sûr que l'on peut mettre les metas des des fichier inclus. A condition que le fichier qui les inclues ne les contiennent pas, lui. Il faut simplement garder à l'esprit qu'un include n'est rien de plus qu'un copier-coller du code et s'assurer que tous les éléments mis ensemble forment quelque chose de cohérent. A la base, hervé voulait savoir si chacun des fichiers inclus devait contenir les metas.

Fred
 
Nouveau WRInaute
voila je viens de lire un peu tous ça je suis un peu dans le meme pb
j'ai un site sur free il marché tres bien. et du jour o lendemain la plupart des pages includes ne marcher plus impossible de les affiches
normalement j'ai un fichier
index.php
qui dedans "include"
la menu de gauche "menu.htm" et
une bonne partie du graphisme du site (quelques script et les couleurs de fonds et se genre de chose)
une page contenue "texte.htm"
2 petit fichier texte "titre" et "basdepage"
et un autre fichier texte avec mes meta

cela rendé mon site tres modulaires j'avais les meme meta de partout je modifier un peu mes meta et tous le site etait modifier et si je voulais refaire un truc o niveau du look je refesé une page et je la uploader dans tt mes dossiers est ct bon
mais maintenant plus rien ne s'affiche sur ma page d'acceuil o lieu d'inclure "texte.htm" c un fichier php3 lui s'affiche mais comme il y a rien d'autre sa fé un peu bizarre
plus de menu plus rien quoi juste la page du milieu voila les codes merci de m'aidé
merci bcp
l'adresse de mon site http://obiwan.kennedy.free.fr

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<? include("http://obiwan.kennedy.free.fr/meta.htm"); ?>
<title><? include("titre.txt"); ?></title>
<style>
<!--
BODY{
scrollbar-face-color:#0A06A3;
scrollbar-arrow-color:#ffffff;
scrollbar-track-color:#003360;
scrollbar-shadow-color:#000070;
scrollbar-highlight-color:#444444;
scrollbar-3dlight-color:#777776;
scrollbar-darkshadow-Color:#222222;
}
-->
</style>
<SCRIPT langage="Javascript">
function ouvre(fichier) {
ff=window.open(fichier,"popup",
"width=180,height=380,left=30,top=20") }
</SCRIPT>
</head>
<body text="#FFFFFF" bgcolor="#0A06A3" link="#FFFFFF" vlink="#FFFFFF" alink="#CC0000">
<? include("http://tux.tutorial.free.fr/debutant/menu.htm"); ?>
<td WIDTH="80%" BGCOLOR="#FDE0AC" background="http://membres.lycos.fr/obiwanken73152/photo/fond.art">
<? include("texte.htm"); ?>
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
</body>
</html>
 
Discussions similaires
Haut