Aller au contenu

découper son site en 3 parties, comment retrouver title partout ?


Sujets conseillés

Posté

Bonjour,


Je m'explique, j'ai divisé mon site en 3 parties :
header.php (le design en haut)
index.php (le contenu du site)
footer.php (le bas du design)
Lorsque je créé une nouvelle page je rapelle le header et le footer à chaque fois avec ceci :

<?phpinclude(header.php');?>


Mais je me pose une question, comment faire pour que toutes les pages de mon site ait un titre différent pour le référencement google ?
J'ai mis ceci dans le header.php :

<head><title><?=$titre;?></title></head>


Puis ceci à chaque fois que je créé une nouvelle page :

<?phpsession_start();$titre="";$description="";$keywords="";$URL ="http://www.nomdusite.com/films/films_a.php";include('header.php');?>


Seulement si je fais ça je pense que lorsque je taperai le nom de mon site et bien je n'aurai aucun titre sur la page du site : www.nomdusite.com
Ais-je raison ? comment procéder pour que cela soit le cas svp?

Posté

tant que tu définis $titre, le titre sera affiché :)


après, si tu a peur qu'a force d'inclure des fichiers la variable se perde, je peux te conseiller de faire (dans header.php)



<?php
global $titre;
?>


en haut de ton "header.php" puis dans ta balise <title> laisser ce que tu a déjà tapé :)



le titre restera ainsi affiché, aucun souci :)


Posté

Ah bah oui je viens de mettre ça dans l'index et cela fonctionne dans le nomdusite.com :

<?phpsession_start();$titre="sites de chiens";include('header.php');?>

et ceci ça veut dire quoi exactement ?

define ("INDEX", true);

<?php
session_start();
$titre="sites de chiens";
define ("INDEX", true);
include('header.php');
?>

Posté

La fonction define() crée une constante.


La différence majeure avec une variable, est que son contenu ne peut pas être écrasé.



Dans ton cas précis,tu pourrais faire


define('TITRE', 'site de chiens');


Et, dans ton header.php :


<title><?php echo TITRE; ?></title>


(Il ne faut pas utiliser de guillemets quand tu appelles une constante. De manière générale, également, elles sont déclarées en majuscules).



Par ailleurs, tu devrais éviter d'utiliser le raccourci "<?=" pour faire un echo, et de manière générale, tout raccourci PHP commencant uniquement par "<?" (Les Short Open Tags). Il vaut mieux, et de loin, faire "<?php echo" (Problèmes notamment, si tu essayes de manipuler du XML, qui commence par une déclaation "<?xml".


Posté

Ah oui c'est vrai, je l'avais lu en plus qu'il vallait mieux écrire <?php



Il ne faut pas utiliser de guillemets quand on appelle une constante...donc lorsqu'il y a define() mais pour ceci <code>$titre="sites de chiens";</code> est-ce juste où faut-il mettre encore '' ?



Sinon je sais qu'il existe un validator w3c, est-ce que ce genre de site existe aussi en php ? pour vérifier s'il n'y a pas d'erreur de ce type sur nos pages ?


Posté

tu a plusieurs possibilités mais ne pas mélanger:



Première: le DEFINE:



/* PAGE Index.php */
<?php
define('TITRE_PAGE', 'Site de chiens');
?>

/* PAGE Header.php */
<title><?php echo TITRE_PAGE; ?></title>

l'on défini (DEFINE) une constante TITRE_PAGE, contenant "Site de chiens".


Ensuite, dans le header, on affiche le contenu de la constante TITRE_PAGE.



Seconde - la variable GLOBAL:



/* PAGE index.php */
<?php
$titre = "Site de chiens";
?>

/* PAGE header.php */
<titre><?php global $titre; echo $titre; ?></titre>

On défini une variable classique dans l'index: $titre


ensuite, dans le header.php, on signale que $titre existe déjà dans un fichier et qu'il faut la récupérer. ensuite, on l'affiche.



Il peut en avoir d'autres, mais c'est celles indiquées ci dessus wink.gif


Posté

Juste une petite correction, Aenoa : il est quand même nécessaire d'utiliser les guillemets lors de la définition d'une constante :


define('TITRE_PAGE', 'Site de chiens');



Ensuite, personnellement, j'essaye de ne pas utiliser de guillemets doubles quand il n'y a pas de variable à évaluer dans le contenu : le traitement en est ainsi légèrement accéléré.


  • 1 month later...
Posté

Bonjour,


Par contre, niveau référencement, il est très mauvais de conserver le même tire sur toutes vos pages. je vous conseillerai plutôt de renseigner la balise TITLE par une entête unique à chaque nouvelle page de votre site web.


Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...