Page 1 sur 3
fonction include ?
Posté : 26 janv. 2006, 20:34
par lebarbo
Bonjour à vous tous,
J'ai des soucis avec la fonction include, je vais essayer d'être clair :
J'ai page1, page2, page3, page4
page1 = page de données qui varie pour chaque page
page2 = graphisme pour page1 et valable pour x autres pages
page3 = banniere pour tout le site
page4 = j'inclus dans un tableau page3 en haut, page2 et à l'intérieur d'une cellule dans la cellule de page2 la page1
Mais le dernier point ne marche pas et je ne sais pas si c'est possible.
En fait ça apparait comme ça :
bannière en haut, graphisme au centre et les données en bas.
Voilà mon code :
<body>
<table width="75" border="0" align="center">
<tr>
<td>
<?PHP
include ($_SERVER['DOCUMENT_ROOT'].'/banniere.php');
?>
</td>
</tr>
<tr>
<td height="64">
<?PHP
include ($_SERVER['DOCUMENT_ROOT'].'/formation.php');
?>
<table width="75" border="0">
<tr>
<td>
<?PHP
include ($_SERVER['DOCUMENT_ROOT'].'/programmedonnees.php');
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
Merci d'avance pour vos réponses
Posté : 26 janv. 2006, 21:20
par Cyrano
Fais afficher tes variables pour vérifier que les fichiers appels ont le bon chemin d'accès. Mets tes chemins dans des variables en faisant par exemple:
$chemin1 = $_SERVER['DOCUMENT_ROOT'].'/banniere.php';
echo("<p>". $chemin1 ."</p>\n");
Vérifie à partir de là si tu n'aurais pas un problème de chemin d'accès.
Posté : 26 janv. 2006, 22:28
par lebarbo
Désolé mais je suis très débutant en PHP est ce que tu peux me mettre un exemple complet pour que je voie comment ça fonctionne
Merci
Posté : 26 janv. 2006, 22:47
par Cyrano
Je t'ai pourtant mis un exemple de code: il suffit simplement de le coller dans ta page et de faire ensuite afficher ta page dans le navigateur pour voir ce que ça affiche: si le chemin affiché correspond au chemin vers le fichier recherché, le problème est ailleurs, mais sinon, c'est que l'erreur viens de la manière dont tu pointes vers les fichiers à inclure.
Posté : 26 janv. 2006, 23:04
par lebarbo
Je sais pas trop si on se comprend (dsl) donc je crois que le mieux s'est d'illustrer
http://marchesfi.free.fr/formation2.php
Voilà, donc en fait les données se trouve en dessous et j'aimerai les intégrer mais je ne sais pas si c'est possible en faisant comme j'ai fait :
page1 = page de données qui varie pour chaque page
page2 = graphisme pour page1 et valable pour x autres pages
page3 = banniere pour tout le site
page4 = j'inclus dans un tableau page3 en haut, page2 et à l'intérieur d'une cellule dans la cellule de page2 la page1
Merci
Posté : 26 janv. 2006, 23:17
par Cyrano
Ok, en voyant un peu le code source, je ne m'étoone plus trop : est-ce qu'il t'est venu à l'idée de regarder le code html généré ? Tu as plusieurs pages html comlètes imbriquées les unes dans les autres : c'est complètement invalide et pas du tout conforme.
Quelque chose me dit que tu n'as pas saisi le principe des includes.
Une page HTML complète a pour base ceci:
Code : Tout sélectionner
<html>
<head>
<title>Titre de la page</title>
</head>
<body>
Contenu de la page
</body>
</html>
Partant de là, on peut découper en différents éléments et en faire des fichiers php dont on va se servir pour reconstruire la page complète. Mais en aucun cas certains éléments ne devront être inclus plusieurs fois.
J'aurai donc par exemple un fichier entete.php qui contiendra ceci:
Ensuite je pourrais avoir basdepage.php qui contiendra :
Il manque quoi ? le contenu de la page: là, je pourrais avoir différents éléments selon la page que je veux afficher. J'aurai donc par exemple accueil.php qui ressemblera à ceci:
<?php
include_once("./entete.php");
?>
Contenu de la page
<?php
include_once("./basdepage.php");
?>
Le contenu variera en fonction du fichier appelé, mais les éléments génériques comme l'en-tête ou le pied de page seront inclus pour chaque page.
Est-ce que tu saisis le principe général ?
Posté : 26 janv. 2006, 23:47
par lebarbo
Ok, si tu me dis de faire comme ça alors c'est tout bon je vais faire comme ça. Forcément là je n'ai plus de problème.
Merci
Posté : 26 janv. 2006, 23:51
par lebarbo
ce qui est dommage quand même c'est que si je change la charte graphique je suis obligé de réadapter mon tableau qui se trouve au milieu de la page pour toutes les pages alors que si j'avais une page avec tout et juste un include pour le corp du texte brut ça aurait été plus simple...
Posté : 27 janv. 2006, 09:03
par lebarbo
Donc le truc ici pour être plus clair c'est pour le contenu de la page,
Code : Tout sélectionner
<?php
include_once("./entete.php");
?>
Contenu de la page [b]ici il y a également des choses en commun avec es autres pages : le tableau, le fonds... Il y a juste les données brut en texte qui changent donc c'est un peu dommage de les dupliquer pour toutes les pages surtout si je change le fonds et le tableau.[/b]
<?php
include_once("./basdepage.php");
?>
Sinon j'ai fait comme tu m'as dit mais en affichant accueil.php je n'ai pas de titre alors que j'ai bien nommé (donné un titre) la page entete.php
Byzarre ??

...
Posté : 05 févr. 2006, 16:24
par lebarbo
y a quelqu'un pour résoudre ce problème ?
merci
Posté : 05 févr. 2006, 17:32
par charabia
Montres nous les code de entete.php et de basdepage.php.
Posté : 07 févr. 2006, 17:57
par lebarbo
Volà l'entete :
Code : Tout sélectionner
<html>
<head>
<title>Master Marchés Financiers</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body topmargin="0">
<table width="751" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="751" height="82"><div align="center"><img src="banniere.jpg" width="751" height="82"></div></td>
</tr>
</table>
Et pour le bas de page ça va être du même type à peu près
Merci d'avance pour les renseignements
Posté : 07 févr. 2006, 18:01
par charabia
Quel est l'arborescence de tes fichiers ?
Les fichiers inclus et ton fichier appelant sont-ils au même niveau ?
Posté : 07 févr. 2006, 18:04
par lebarbo
Juste pour repréciser le problème n'est ni l'entete ni le bas de page mais bien le contenu. En effet j'ai une charte graphique identique pour de nombreuses pages mais pas pour toutes. Je m'explique :
entete et bas de page pareil pour TOUTES les pages du site
Fonds du contenu ainsi que les cellules, en gros la charte graphique au centre est valable pour quelques pages et à l'intérieur de celle-ci je veux appeler du texte brut :
voir exemple :
http://marchesfi.free.fr/formation.php
c'est à l'intérieur du carré que je veux appeler du texte via le php
Merci
Posté : 07 févr. 2006, 18:06
par lebarbo
au niveau du site tout sera au même niveau pour facilité les liaisons
PS: quelle rapidité lol