Bonjour à tous et à toutes!

Je me pose une question existentielle depuis longtemps: les éléments qui sont les mêmes pour toutes les pages d'un site comme le bandeau du haut avec le menu ou le pied de page doivent-ils être répétés (copiés/collés) dans chaque fichier html ? personnellement, je fais des fichiers à part et je les inclus en php dans chacune de mes pages. Mais je me demande si c'est une bonne idée. Par exemple comment mettre un titre personnalisé par chaque page alors que le <HEAD> est dans mon fichier "entete" ?...

Comment faites-vous ?

Merci de votre réponse!

Olivier.
Modifié par mad_shreder (01 Dec 2005 - 23:05)
Salut,

Ben je fais comme toi évidemment.

Sauf que le title lui il n'est pas dans un fichier à inclure mais dans chaque document php.

D'où :

include php 1
<title></title>
include php 2

suite du document...
Bonjour à tous,

Je me décide à rentrer dans l'action... dans un post qui risque d'être classé "hors sujet", mais bon Smiley smile

Tu peux aussi faire ainsi :

$titre = "Mon titre personnalisé";

include


Et dans ton include :
<title><php echo $titre ?></title>
Bonjour,

Je fais un mix des deux propositions précédentes...

Perso j'ai trois fichiers d'en-tête et un de pied-de-page.

Un fichier d'en-tête avec les fonctions php usuelles, telles que la connexion à MySQL par exemple. Ce fichier est également chargé d'envoyer les en-têtes HTTP Content-Type et Content-Language, et de démarrer une éventuelle session si c'est nécessaire. IL ne renvoie aucun code HTML au navigateur.

Un deuxième qui contient le code HTML de <?doctype à juste avant </head>. IL exploite certaines variables définies avant l'include pour permettre un titre et des pages liées (<link ... />) dynamiques.

Un troisième qui contient le code HTML du menu de navigation commun à toutes les pages.

Ensuite, j'ai le contenu principal qui change à chaque page.

Pour terminer, j'ai une page php footer qui ajoute les informations style partenaires, copyright, etc... et qui termine la page jusqu'à </html>.

On peut donc résumer les pages de mon site selon le modèle suivant :


<?php
include("header1.php");
// ici je peux faire des actions qui ne'voient aucun code HTML à l'utilisateur, c'est la place par excellence des redirections header("Location:..."); par exemple.

$titre = "Page 2";
$lienSuper = "accueil.php";
$lienPrev = "php/page3.php";
$lienSuiv = "php/page1.php";

include("header2.php");

// ici par exemple, je peux placer des scripts  ou des feuilles de style supplémentaires, c'est ce qui est bien quand on s'arrête juste avant </head>.

include("header3.php");

print "Vous êtes ici : blablabla";
print "<h1>blablabla</h1>";
print "<p>blablablabla</p>";
print "<p>blablablabla</p>";
print "<p>blablablabla</p>";

include("footer.php");



Je trouve que ce topic mérite d'être déplacé dans un autre salon car c'est plus qu'une question de débutant. Je ne sais pas ce qu'en pensent les modos ?
Modifié par QuentinC (01 Nov 2005 - 16:19)
OK! cela confirme ce que je pensais mais jhe n'étais pas sûr que ce qui se faisait habituellement...

Thanx a lot !!! Smiley biggrin