d4v3ng3r Posté 16 Août 2007 Posté 16 Août 2007 Bonsoir à tous!! Je sait il est très tard mais il fallait que je poste maintenant sinon j'allais oublier ensuite. 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. 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 ??? 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. Bonne nuit :!:
Alexx Posté 16 Août 2007 Posté 16 Août 2007 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.
binarygirl Posté 16 Août 2007 Posté 16 Août 2007 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
K-Ola Posté 16 Août 2007 Posté 16 Août 2007 (modifié) 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. Modifié 16 Août 2007 par K-Ola
d4v3ng3r Posté 16 Août 2007 Auteur Posté 16 Août 2007 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
K-Ola Posté 16 Août 2007 Posté 16 Août 2007 (modifié) Donc avec des pseudo frames, tu aurais,avant la balise title biensûr : /*Assainissement de la variable $pqui 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é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: <title> Nom de ton site - <? echo $titre ?> </title> Puis encore plus loin tu as la gestion de tes pseudos frames: <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> Modifié 16 Août 2007 par K-Ola
d4v3ng3r Posté 16 Août 2007 Auteur Posté 16 Août 2007 K-Ola, franchement, j'ai RAREMENT vu une explication aussi simple clair et net pour les titres dynamiques !!!! Merci infiniment !!! Tu devrait rédiger des tutoriaux crois moi. 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 ! Bonne nuit
Alexx Posté 17 Août 2007 Posté 17 Août 2007 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. 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".
d4v3ng3r Posté 20 Août 2007 Auteur Posté 20 Août 2007 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 !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant