Version complète: sur le forum Webmaster Hub : Créer un titre dynamique
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
d4v3ng3r
Bonsoir à tous!!
Je sait il est très tard mais il fallait que je poste maintenant sinon j'allais oublier ensuite. blushing.gif
Le titre du sujet dit tout: Etant débutant en PHP, j'aimerais faire en sorte que le titre change en fonction de la page appellée par l' <include>.

Mon site est composé d'une page index.php, qui elle même comporte un <div> gauche pour <include> le menu, un <div> supérieur pour le logo du site, et un <div> central qui <include> la page appellée par la fonction $_GET, ce qui me donne des adresses de page du style: monsite.hebergeur.fr/index.php?page=accueil.

Jusque là tout va bien,mais voici "mon" dilemne:

Je voudrais que le titre de mon site change en fonction de la page qui s'affiche dans le <div> central. u_idea_bulb02.gif

Tout comme ce site par exemple, il y a une partie statique puis le titre de la page affichée.

Si possible est-ce que vous auriez d'autres solutions que le recours a la BDD ??? thumbdown.gif

Merci d'avance pour vos réponses que j'attends impatiament!! Et s'il vous plaît ne vous moquez pas je suis débutant !! Je veux apprendre. smile.gif

Bonne nuit q_smallexcla.gif
Alexx
Salut,

Comme tu récupères le type de page que tu veux au travers de ton url "monsite.hebergeur.fr/index.php?page=accueil", tu peux récupérer avec la variable "page" le nom de la page.
Ce qu'il faut que tu fasses c'est de mettre entre les balises <title> la variable $page ce qui t'affichera "accueil".
Maintenant si tu veux que la première lettre soit en majuscule, utilise la fonction ucfirst() avec ta variable, càd: ucfirst($page)

Voilà et bonne chance. wink.gif
binarygirl
Il faut quand même faire gaffe quand on se base sur une variable pour faire un include et s'assurer qu'elle ne puisse pas être injectée sinon on se retrouve avec une faille RFI excl.gif
K-Ola
Je conseillerais plutôt de faire un tableau qui à une variable page(que l'on récupére et que l'on sécurise avec strip_tags(), htmlentities(), addslashes()) associe un titre, cela permet de sécuriser un maximum.
d4v3ng3r
merci pour toutes vos réponses !!!

Alexxx ton idée est interessante mais en fait les noms de pages que j'ai donné pour la variable "page" ne sont pas tres élègants... Ca ne ferait pas un "joli" titre :S .. t'as une solution pour renommer les titres que j'ai donné à mes variables "pages" ??

K-Ola ton idée m'interresse aussi, mais en fait je sait pas comment faire :S .. Tu peux m'expliquer stp ? Tu peux me montrer un exemple de code ?

Merci smile.gif
K-Ola
Donc avec des pseudo frames, tu aurais,avant la balise title biensûr :

CODE
/*
Assainissement de la variable $p
qui permet de minimiser les risques éventuels d'injections
*/
$p=$_GET['page'];
$p=htmlentities($p);
$p=strip_tags($p);
$p=addslashes($p);


/*On fait la correspondance page->titre */
$pagetitre = array(
        'accueil' => 'Accueil',
        'contact' => 'Nous contacter',
        'mentions-legales' => 'Mentions L&eacute;gales'
    
    );
  if ( (isset($pagetitre[$p])) ) {
    $titre=$pagetitre[$p];  
  } else {
    $titre=$pagetitre['accueil'];  
  }
?>


Ensuite un peu plus loin tu as l'affichage du titre avec par exemple:

CODE
  <title> Nom de ton site  -
      <? echo $titre ?>
    </title>


Puis encore plus loin tu as la gestion de tes pseudos frames:
CODE
    
<div id="contenu">
<?php
  $pageOK = array(

        /*Tes contenus*/
        'accueil' => 'include/accueil.php',
        'contact' => 'include/contact.php',
        'mentions-legales' => 'include/mentions-legales.php',
        
    );

  if ( (isset($p)) && (isset($pageOK[$p])) ) {
    include($pageOK[$p]);  
  } else {
    include('include/accueil.php');  
  }
?>
</div>
d4v3ng3r
K-Ola, franchement, j'ai RAREMENT vu une explication aussi simple clair et net pour les titres dynamiques !!!! d_clap_20.gif Merci infiniment !!!
Tu devrait rédiger des tutoriaux crois moi. a_thumbsup_20.gif

A vue d'oeil ça à l'air sur de fonctionner,je met ça en place et je te met au courant le plus rapidement possible !

Merci encore ! biggrin.gif

Bonne nuit g_handshake2_20.gif
Alexx
C'est clair pour la faille, on ne sait jamais.
La solution que j'ai donné est basique et ne traite pas de la sécurité sachant qu'elle doit déjà être traitée aupparavent.

CITATION(d4v3ng3r @ jeudi 16 août 2007 à 22:57) *
Alexxx ton idée est interessante mais en fait les noms de pages que j'ai donné pour la variable "page" ne sont pas tres élègants... Ca ne ferait pas un "joli" titre :S .. t'as une solution pour renommer les titres que j'ai donné à mes variables "pages" ??


Utilise le système à K-Ola et après si tu veux changer le titre de la page, suffira juste de le modifier dans le tableau "$pagetitre". smile.gif
d4v3ng3r
Bonsoir ( ou bonne nuit plutot )
desolé du temps que j'ai pris... probleme d'internet pendant 2 jours :S

Et je voudrais dire un grand merci a K-Ola pour ton code, qui m'as été d'une aide DIVINE !!! Il fonctionne par-fai-te-ment !
j'avais googelé pendant des jours, j'etait toujours tombé sur des codes en carton qui tiennent grâces à des petites ficelles, et la tu m'as apporté exactement ce que je cherchais. simple et efficace. malheureusement mon niveau en php n'etait pas encore assez elevé pour le trouver tout seul.. donc merci à toi, et a Alexx aussi pour son aide, et a binarygirl pour sa mise en garde de la faille RFI.

Longue vie a webmaster-hub /!\

A bientôt !
K-Ola
Content d'avoir pu t'aider ! smile.gif

A bientôt !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.