[RESOLU] lien html ou include php?

Eléphant du PHP | 290 Messages

10 mars 2015, 10:56

Bonjour,

Je suis en train de faire mon premier site,
et comme ça fait déjà un moment que je bosse dessus,
je pense qu'il est temps de faire un peu de rangement.

J'ai des parties de code html, css et javascript dédiées à une présentation
identique pour toutes mes pages webs.
Je voudrais mettre ce code dans des fichiers externes pour
1) séparer ma présentation standard pour toutes les pages
du code spécifique à chaque page => code plus lisible
2) pour que je n'ai pas besoin de répercuter toute modification apportée à ma présentation
standard sur toute les pages de mon site, mais une seule fois dans un fichier
externe => côté pratique

J'ai bien sûr pensé aux include php, mais ils ont l'inconvénient qu'ils doivent être appelés avant
toute sortie en direction du navigateur, ce qui est assez gênant.
En effet, déjà si je donne un titre à ma page, je ne peux pas avoir un include juste après.
Il ne fonctionnera pas pour cette raison.
Passer sur des fichiers externes séparé pour chaque partie de code écrit en langage client
ça marche pour le css et le javascript, mais sauf erreur de ma part on ne peut pas créer
de fichier externe html (bien sûr les ancres ça n'a rien à voir).

Je ne vois pas trop la meilleure manière d'appréhender la chose :roll:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 mars 2015, 12:41

Bonjour,
J'ai bien sûr pensé aux include php, mais ils ont l'inconvénient qu'ils doivent être appelés avant
toute sortie en direction du navigateur, ce qui est assez gênant.
En effet, déjà si je donne un titre à ma page, je ne peux pas avoir un include juste après.
Tu peux tout à fait, faire des include où tu veux.

Ce que tu ne peux pas, c'est utiliser la fonction header après avoir envoyé du code HTML (ce qui est logique car les entêtes doivent être envoyés avant le corps du document).

Donc si tu n'as pas de fonction header dans tes includes ça marche parfaitement de faire un include("footer.php") pour avoir le même pied de page partout...
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 290 Messages

10 mars 2015, 13:19

Bonjour @rthur,

Effectivement ça marche!!
Il ne faisait pourtant pas l'ombre d'un doute que ça ne marcherait pas.
J'avais déjà eu un problème similaire où j'avais dû mettre mes include tout en
haut de mes fichiers, après quoi seulement les programmes ont fonctionné.
Mais effectivement il y avait des header dans mes include,
et ce que j'ai compris grâce à tes éclaircissements c'est que le problème
venait de l'header dans l'include et non pas de l'include qui lui
peut être mis où on veut.

C'est donc plus pratique que je pensais. Merci!!