8797 sujets

Développement web côté serveur, CMS

Bonjour,

Je souhaite affiché la variable <?php echo $Titre_de_la_page; ?> dans la balise <title> de mon <head> mais j'utilise des pseudo frame PHP et j'ai besoin d'afficher dans l'include <?php $Titre_de_la_page = Accueil; echo $Titre_de_la_page; ?> afin de faire varier le titre selon celle-ci. Mais le souci c'est que celle-ci se trouve dans le <body> de la page et le problème c'est que le php exécute de haut en bas, du coup la variable ne fonctionne pas, que puis-je faire ? Y-a-t'il une alternative ?

PS: Je débute en PHP, alors si vous pourriez me détailler vos explications.

Merci d'avance pour vos réponses.
Bonsoir à toutes et à tous,

le problème est que tu raisonnes à l'envers.

C'est le PHP qui englobe le code HTML et non l'inverse.

Donc lorsque tu construis une page HTML (donc suffixé par .php), qu'est-ce qui t'empêche de produire les lignes de code HTML, et entre autre la balise <title> au moment où tu as la connaissance de ce nouveau titre ?

@+
J'ai du mal à comprendre, vous voulez dire que je peut placer la balise <title> dans l'include situer dans le body de ma page ?
Tu peux très bien écrire une fonction paramètrable et l'inclure.


<?php
 include_once ('fonctions/titrePage.php');
?>
<!-- Ton DOCTYPE HTML ici -->
<title><?php titrePage ('Accueil'); ?></title>


Oubli pas que tes scripts PHP peuvent très bien être en haut du document, pas nécessairement dans BODY. Mais c'est mieux de cibler le fichier de fonction en externe.



..
Modifié par zardoz (25 Jul 2011 - 23:14)
Bonsoir à toutes et à tous,

je dis simplement qu'il y a un ordre à respecter lorsque tu écris un script. Celui-ci contiendra du PHP qui va d'une part englober le code HTML et d'autre part le produire en tant que résultat.

Donc commence par produire toutes les variables PHP dont tu as besoin et lorsque tu disposes de l'ensemble de ces informations, rien ne t'empêche de produire le code HTML.

Je n'ai jamais dit qu'il faut mettre la balise <title> à l'intérieur des balises <body> et </body>.

Regarde l'exemple de Zardoz et tu verras que la première partie est entièrement consacré au code PHP. Lorsque tu as fini cette partie, rien ne t'oblige à produire, juste après, le code HTML. Tu peux encore poursuivre avec un autre code PHP et ainsi de suite.

Et lorsque tu auras tout pour produire le code HTML et cela sans revenir en arrière comme dans ton cas du titre à placer entre les balises <title> et </title>, alors tu pourras, en effet placer le code HTML à cet endroit.

On peut dire que dans l'évolution de la construction de ton code PHP, ce point est un point stable.

@+
Artemus24 a écrit :
...
le problème est que tu raisonnes à l'envers.
C'est le PHP qui englobe le code HTML et non l'inverse.
...


Tu as pourtant dis ça Artemus24 Smiley murf

HTML peut englober PHP - et PHP peut englober HTML. Les deux façons sont valide en écriture de scripts.

..
Modifié par zardoz (26 Jul 2011 - 00:04)
Bonsoir à toutes et à tous,

je ne parlais pas d'une quelconque forme d'écriture qui imbrique le code PHP et le code HTML dans la même page.

Je vais m'exprimer autrement. Le code php est considéré comme un pré-processeur.

Donc quoi que tu fasses, le code PHP sera toujours traité en premier. Et de cela, c'est le PHP qui encapsule (ou englobe) le code HTML et non l'inverse.

@+
Modifié par Artemus24 (26 Jul 2011 - 02:25)