Aller au contenu

TITRE de page en PHP


Sujets conseillés

Posté

Bonsoir tout le monde,

J'aimerais faire changer de titre à mes pages en PHP... vous me direz, facile... il suffit de changer le titre dans la balise!!!

Et c'est là le problème (pour moi :angry: ) :!:

En effet mes pages sont générées automatiquement dans une page index.php grace à des includes qui font apparaitre le résultat d'une requete...

donc pour h**p://www.monsite.com/links/?action=voir&val=22 ou pour h**p://www.monsite.com/links/?action=voir&val=112 j'ai le même titre de page! J'amerais bien avoir deux titres bien distincts... c'est possible Docteur(s) :?:

Posté

Bonsoir,

L'une des solutions est de mettre tout le texte en variable, et ainsi tu peux le modifier à la fin..

Ainsi, au lieu de faire :

<?

echo"<titre>un titre</titre>";

echo"<body>un body</body>";

?>

tu fais :

<?

$titre="<titre>un titre</titre>";

$body="<body>un body</body>";

echo $titre;

echo $body;

?>

Ainsi, tu peux générer le titre après le body, en fonction de la page que tu généres au cours du script... M'enfin. Je pense que t'as compris ;)

Pour l'autre solution, je la cherche, et si quelqu'un la connait, je suis preneur..

A+, Anonymus.

Posté

En fait, tu peux mettre ce que tu veux comme données issues de ta base au niveau de ta balise title, à la condition que ta requête SQL soit placée avant la ligne où tu génères la balise title.

Si ton include ne contient que la requête : il suffit que tu le places avant la balise <TITLE> et tu pourras exploiter le contenu des variables qui ont servi à récupérer le résultat de ta requête dans la balise title.

Si ce n'est pas le cas (il y'a aussi du code qui sert à générer du HTML) tu extrais la requête SQL de l'include pour la mettre dans la page, ou tu écris une deuxième requête SQL que tu places avant title.

Bref, ce ne sont pas les solutions qui manquent

Posté

Dans mon cas ma page index.php c'est une partie en html et des includes php...

donc je n'ai pas :

Ainsi, au lieu de faire :

<?

echo"<titre>un titre</titre>";

echo"<body>un body</body>";

?>

Tout mes méta dont le titre sont dans les balises <head></head> et mes includes dans entre <body></body>

En fait il faut que je joue avec ma base SQL pour faire appraitre un titre qui y sera présent...

Posté

Salut BZHcool,

Ton problème est simple, il te suffit de remplacer tes balises <title> dans tes includes PHP.

Au lieu d'avoir:

<title>mon titre figé que j'aimerais changer</title>

tu mets:

<title><?=$mon_titre ?><title>

Il suffit de t'assurer, avant de faire ton include, que ta variable $mon_titre soit positionnée.

exemple:

<?php
$mon_titre="ça c'est du titre au moins";
include('tonfichier_include");
?>

Cela suppose que ta requête SQL soit effectuée avant, si tu extrais le titre de la base.

Dan

Posté

salut et merci Dan,

Tu écris :

Il suffit de t'assurer, avant de faire ton include, que ta variable $mon_titre soit positionnée.

exemple:

CODE 

<?php

$mon_titre="ça c'est du titre au moins";

include('tonfichier_include");

?>

Cela suppose que ta requête SQL soit effectuée avant, si tu extrais le titre de la base.

et là je coince...

car ce code que tu me donne il faut que je mette dans mon Body de la page index.php mais et que je fasse un script (tonfichier_include) pour aller chercher dans une base de donnée mes différents titres...

sauf que là tu mets : $mon_titre="ça c'est du titre au moins" donc si je mets ton exemple de code je comme l'impression que c'est "ça c'est du titre au moins" qui va se mettre sur toutes mes pages!

Posté

1 requete SQL

2 alimentation de la variable $titre

3 echo dans la balise <title>

4 echo dans la balise <h1>

<_<<_< Une démo !! une demo !!

Bon Bon ok B)

http://phortail.org

De plus je gère le triple titre

- le nom du site

- le nom de la rubrique

- le nom de la rubrique et de l'article

selon le niveau de navigation

Posté
sauf que là tu mets : $mon_titre="ça c'est du titre au moins" donc si je mets ton exemple de code je comme l'impression que c'est "ça c'est du titre au moins" qui va se mettre sur toutes mes pages!

Ben oui ! :lol: Ce n'est qu'un exemple.

Cette chaîne devrait plutôt être le résultat d'une extraction de ta base de données.

Sinon, regarde du côté des systèmes de templates.

Chacun a son favori, mais perso j'utilise PatTemplate que tu peux trouver sur le site http://www.php-tools.de/site.php.

C'est assez facile à maîtriser et très puissant. C'est avec cela (et pas mal de PHP) que j'ai fait mes sites immobilier. ;)

Dan

  • 3 semaines plus tard...
Posté

Merci Gilbert,

Mais Cariboo m'a aidé à créer un petit code bien sympa qui inclus le titre de mes variables directement dans mon titre.

Excusez moi mais c'est vrai que j'aurais du signaler dans ce post que le problême était réglé :blush:

  • 1 month later...
Posté

Bonjour tout le monde,

j'ai suivi ce post avec interet parce que j'aimerais aussi avoir un affichage de titre dynamique et le script de cariboo annoncé par BZH (vive la Bretagne) m'intéresserait (et je ne suis sans doute pas le seul)

Serait il possible de la poster ici ? ou via mail, mais ici ce serait mieux pour les autres.

Merci d'avance, et à bientôt,

Gilles.

Posté

Bonjour Gilles,

C'est vrai que celà fais déjà une ou deux fois que je réponds à cette question, donc voici le mail de cariboo que j'avais reçu à l'époque, j'ai juste changé les fichiers crées:

Oui il y'a beaucoup plus simple :

1. Tu crées un fichier baptisé (par exemple) :

codes_france.inc.php

2. Dans ce fichier, tu crées un tableau de variables avec la correspondance code région et traduction en clair, en utilisant la syntaxe suivante :

(les codes doivent être faux, c'est pour t'expliquer le principe...)

<?php

$code_france[24]="Dordogne";

$code_france[33]="Gironde";

$code_france[40]="Landes";

?>

Tu places la commande

include("codes_france.inc.php") au début de chaque fichier php qui génère tes pages annuaires... (apparemment il n'y a qu'un seul fichier)

et quand tu arrives à la balise title, tu écris

<?

echo "<title>".$code_france[$val]." : annuaire des sites</title>";

?>

et le tour est joué ...

Ce truc est simple, il a un avantage : tu mets ce que tu veux comme texte correspondant à une région dans title, mais il a un inconvénient : il faut mettre à jour le fichier à chaque modif dans la table des régions...

Si tu veux, je peux t'envoyer une autre solution qui tire les infos de ta base sql.

C'est tout simple il suffit juste de suivre les étapes.

Posté

Merci pour ta réponse : sympa

je vais regarder de ce côté

Personnellement je pensais à un script qui

1/récupère l'url courante (variable d'environnement je crois)

2/nettoie le code (avec les expressions régul) ou une liste de trucs à jeter (par exemple l'extension) et remette un peu en forme (casse, espacements), pas la peine de faire trop compliqué

3/on réinjecte la variable dans le titre.

Je n'avais pas pensé l'idée de cariboo, je vais voir.

En tout cas merci ; si tu as d'autres idées à ce propos n'hésite pas.

Bon we, Gilles.

vive les Bretons (tu connais une jolie célib de 20-30 ans, bretonne et pas compliquée ?)

Posté

et les variables d'environnement ??

Ici :

echo"<table border=1>";

foreach ($envs as $env) if ( isset($$env) )  echo "<tr><td>".strtolower($env)."</td><td>${$env}</td></tr>";

echo"</table>";

Anonymus.

Posté

Bonjour

merci pour cette portion de code ; je conserve le script et je vais tester tout ça.

A bientôt,

Gilles.

Veuillez vous connecter pour commenter

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



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