Bonjour,

Je voudrais savoir comment mettre un title différent sur chaque page d'un site quand on passe par une base de données. C'est-à-dire que le head est le même pour toutes les pages générées par la base de données.

On m'avait conseillé de faire ça :

<title>site : <?php

if (isset($_GET['page'] && is_int($_GET['page']):

  $page = $_GET['page']; 

  $title = array('News', '','Goodies','Liens') ; 

   echo $title[$page];

endif;

?></title>

J'ai adapté le code, ça marche pour certaines pages mais pas pour toutes.
Pouvez-vous me renseigner, svp?
Merci d'avance.
Modifié par MissGG (18 Feb 2007 - 02:28)
En fait, après avoir défini le champ titre dans ta base de données, tu appelles ton head de la même manière que tes contenus.
Comment expliquer c'est compliqué.
Sur les pages qui ne passent pas par la base de données, j'ai mis un head différent sur chaque page, donc j'ai pu adapter le title sur chacune d'elles.
Sur les pages qui passent par la base de données. J'ai ajouté un code dans le head.php qu'on m'a conseillé sur ce forum.
<?php
if (isset($_GET['page']) && is_int($_GET['page']));
$page = $_GET['page']; 
$title = array('a','News','b','Goodies','Liens','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v'); 
echo $title[$page];?></title>

Les a, b,c.... me servait juste pour repérer si qqch s'affichait sur les pages où rien ne s'affichait. D'ailleurs, je ne comprends pas pourquoi News se trouvent en deuxième position par exemple, ça correspond à quoi? Pas à mon Data en tout cas. Si on peut m'expliquer.

Une synthèse de tous les titles qui marche pas, mais je vous prévient d'avance c'est long.
A la place du title, on peut voir :
1. Monsite sur les pages calendrier, les pages de catégories des goodies, les pages de catégories de liens.
2. Monsite - sur la page qui affiche le livre d'or.
3. Monsite - News sur le formulaire du livre d'or. (Sachant que le livre d'or (formulaire et affichage est une seule et même page de code)
Je ne sais pas si ces indications pourront vous aider à m'aider, lol.
J'imagine que pour le cas 1., c'est dû à mon update qui génère plusieurs pages suivant une catégorie ou NOW, mais je ne sais où placer ma fonction title.
Pour le cas 2. et 3., j'ai aucune idée.
J'espère que mes explications pourront être clair pour qqn, sinon j'en suis désolée.
Help!!

L'idéal pour moi, ce serait de créer et placer une fonction qui adapte le title sur toutes les pages avec un seul head, que ce soit des pages sans ou avec BDD. C'est beau de rêver non?
Modifié par MissGG (18 Feb 2007 - 02:30)
gaelgerard a écrit :

dit nous comment tu appelles tes contenus on te dira comment appeler ton head

vous pouvez aller voir sur mon site en signature : un titre par page avec des include et sans bdd
<title><? Titre($page); ?></title>
puis dans le body
<?
function Titre($page)
{
switch ($page) {  
case "liens" : echo "Nos partenaires sur le Web - Spectacle Equestre Aventure au Galop";  break;
case "spectacles" : echo "Nos différents champs d'action - Spectacle Equestre Aventure au Galop";  break;
case "contacts" : echo "Laissez nous vos impressions - Spectacle Equestre Aventure au Galop";  break; (...une "ligne" par titre de page)
default: echo "Spectacle Équestre - Cascade - Voltige - Attelage - Équitation Spectacle - Aventure au Galop";  break;
}
}
?>

ps: site réalisé avec un gabarit alsa et le tuto sur les includes alsa : Merci ALSACREATION
Bonjour,

Voici un exemple de page gérée par BDD
pour mes pages calendrier :
La première page s'appelle "http://example.fr/calend/calend1.php" et je voudrais juste "Calendrier" en title.
Et ma deuxième page s'appelle "http://example.fr/calend/calendpast1.php" et je voudrais le même chose.
Ces deux pages utilisent le même head : "head.php"
Voilà, je sais pas si j'ai répondu à ton message et si c'est ce que tu voulais Smiley cligne
Modifié par MissGG (18 Feb 2007 - 02:31)
Bonjour,

Généralement je procéde simplement comme suit (bdd ou pas):
Si ton site s'articule de la manière suivante :
tete.php
contenu.php
pied.php

avec include de chaque partie pour "reconstituer" la page.

Sur chaque page et avant l'include de tete.php on défini une variable $titre_page = 'index', par exemple
et dans l'entête <title><?php echo $titre_page;?></title>

Voilou, je ne sais si ça t'aide mais bon
Bonjour,

J'ai encore un petit problème avec mes titles dans mon fichier "Data.php".
J'ai essayé de faire une fonction $title, mais où que je la place, ça ne marche pas. Je ne maîtrise pas le php.
Je vous montre mon title dans le head.php :
<title>Monsite - <?php echo $title;?></title>

Et voici une partie de mon Data.php :
<?php
include "conf.inc.php";
include("head.php");
if (isset($_GET['page'])) 
{
  $page=$_GET['page'];
  switch($page)
 {
  case"1":
	 /*******************************/
     /* News */
     /*******************************/
	 $News=$_GET['News'];
	 if($News<1)$News = 1;?>
	 <H2><br>News</H2>
	 <br>
	 <hr>
	 <?php
     include "news/".$News.".html";
     break;
  case"2":
     /*******************************/
     /* Calendrier */
     /*******************************/
	 $Calendrier=$_GET['Calendrier'];
	 if($Calendrier<1)$Calendrier = 1;?>
	 <H2><br>Calendrier</H2>
	 <br>
	 <table>
	 <tr>
	 <td colspan="2"><hr></td>
	 </tr>
	 <?php
     include "calend/".$Calendrier.".html";
     break;
 }
}
include("foot.html");
?>

Modifié par MissGG (07 Feb 2007 - 10:57)
Bonjour,

J'ai trouvé pour mettre les title dans le Data.
Dernier point où je n'arrive pas à afficher les title, c'est dans les update à cause des $lines...
Voici l'update de mon calendrier :
<?PHP
include("heada.php");
?>
<p><font family='verdana' size='2,5' color='#3FDCC4'>Début de création des fichiers du calendrier</font><br>
<?PHP
function StartFile($Fp,$entete)
{
    $lines = file ('../head3.php');
    // Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
    foreach ($lines as $line_num => $line){
      fputs ($Fp,$line."\r\n");
    }
    fputs ($Fp,"<H2><br>Calendrier</H2>\r\n");
	fputs ($Fp,"<br>\r\n");
	fputs ($Fp,"<p class=\"paragraphe\">$entete<br>\r\n");
	fputs ($Fp,"<br>\r\n");
	fputs ($Fp,"<hr>\r\n");
	fputs ($Fp,"<table width=\"100%\">\r\n");
}
function CalendrierInFile($Fp,$Obj)
{
  list($Date) = explode(" ",$Obj->Date);
  list($Annee,$Mois,$Jours) = explode("-",$Date);
  $Date = $Jours."/".$Mois."/".$Annee;
  fputs ($Fp,"<tr><td class=\"paragraphe2\" width=\"130px\">Date :<br><br></td><td class=\"paragraphe2\">".$Obj->Date."<br><br></td></tr>\r\n");
  fputs ($Fp,"<tr><td class=\"paragraphe2\">Evènement :<br><br></td><td class=\"paragraphe2\">".$Obj->Evènement."<br><br></td></tr>\r\n");
  fputs ($Fp,"<tr><td valign=\"top\" class=\"paragraphe2\">Description :<br><br></td><td class=\"paragraphe2\">".nl2br($Obj->Description)."<br><br></td></tr>\r\n");
  fputs ($Fp,"<tr><td colspan=2><hr></td></tr>\r\n");
}
function EndFile($Fp,$Num,$Ji,$fichier,$lien,$link)
{
  fputs ($Fp,"</table>\r\n<div class=\"page\">Page : \r\n");
  for($i=1;$i <= ceil($Num/10);$i++)
  {
    if($i==$Ji){
      fputs ($Fp," $i \r\n");
    }else{
      fputs ($Fp," <a href=\"$fichier$i.php\">".$i."</a>\r\n");
    }
  }
fputs ($Fp,"</div>\r\n");
fputs ($Fp,"<br><div class=\"page\"><a href=\"$lien\">$link</a></div>\r\n");
    $lines = file ('../foot.html');
    // Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
    foreach ($lines as $line_num => $line) {
      fputs ($Fp,$line."\r\n");;
    }
}
// connexion à la base de données
include("../mysql.lib.php");
include("../conf.inc.php");
$DB = new MysqlDataBase($DB_Serveur,$DB_User,$DB_Password,$DB_Db);
// requête évênements non passés
$query = "SELECT * FROM `Calendrier` WHERE `ordre`>NOW() order by `ordre` ASC";
$DB->execute($query);
$I = 0;
$J = 1;
$FP= 0;
// traitement des enregistrements
while($DB->object)
{
   if($FP==0)
  {
    $Fichier = "calend".$J.".php";
    echo "<font family='verdana' size='2,5' color='#3FDCC4'>Création du fichier </font><a href=\"../calend/".$Fichier."\">".$Fichier."</a><br>";
    $FP = fopen ("../calend/".$Fichier,"w");
    StartFile($FP,"Vous trouverez ici un descriptif des évènements que nous avons repérés.<br>
	Si vous organisez ou connaissez un évènement (meeting, expo ou autres) qui selon vous devrait figurer ici contactez-<a HREF=\"mailto:example@free.fr\" class=\"a\">nous</a> par mail.");

  }
  CalendrierInFile($FP,$DB->object);
  $I++;
  if($I==10)
  {
    echo "<font family='verdana' size='2,5' color='#3FDCC4'>Création du fichier </font><a href=\"../calend/".$Fichier."\">".$Fichier."</a> Terminé.<br>";
    EndFile($FP,$DB->Num,$J,"calend","../calend/calendpast1.php","Evènements passés");
    fclose($FP);
	$J++;
    $FP =0;
    $I = 0;
  }
  $DB->NextObject();
}
if($FP!=0)
{
  echo "<font family='verdana' size='2,5' color='#3FDCC4'>Création du fichier <a href=\"../calend/".$Fichier."\">".$Fichier."</a> Terminé.</font><br>";
  EndFile($FP,$DB->Num,$J,"calend","../calend/calendpast1.php","Evènements passés");
  fclose($FP);
  $FP =0;
  $I = 0;
}
// requête évênements passés
$query = "SELECT * FROM `Calendrier` WHERE `ordre`<NOW() order by `ordre` DESC";
$DB->execute($query);
$I = 0;
$J = 1;
$FP= 0;
// traitement des enregistrements
while($DB->object)
{
   if($FP==0)
  {
    $Fichier = "calendpast".$J.".php";
    echo "<font family='verdana' size='2,5' color='#3FDCC4'>Création du fichier </font><a href=\"../calend/".$Fichier."\">".$Fichier."</a><br>";
    $FP = fopen ("../calend/".$Fichier,"w");
    StartFile($FP,"Evênements passés :");
  }
  CalendrierInFile($FP,$DB->object);
  $I++;
  if($I==10)
  {
    echo "<font family='verdana' size='2,5' color='#3FDCC4'>Création du fichier <a href=\"../calend/".$Fichier."\">".$Fichier."</a> Terminé.</font><br>";
    EndFile($FP,$DB->Num,$J,"calendpast","../calend/calend1.php","Evènements à venir");
    fclose($FP);
	$J++;
    $FP =0;
    $I = 0;
  }
  $DB->NextObject();
}
if($FP!=0)
{
  echo "<font family='verdana' size='2,5' color='#3FDCC4'>Création du fichier <a href=\"../calend/".$Fichier."\">".$Fichier."</a> Terminé.</font><br>";
  EndFile($FP,$DB->Num,$J,"calendpast","../calend/calend1.php","Evènements à venir");
  fclose($FP);
  $FP =0;
  $I = 0;
}
?>
</p>
<?PHP include("foota.php")?>

Si vous arrivez à m'aider pour les fichiers où le head est dans l'update, mon sujet sera résolu.
Je suis prête à modifié le code sans problème.
Merci.
Modifié par MissGG (18 Feb 2007 - 02:32)
Bonsoir à tous,

J'ai beau essayé de chercher une solution, je n'y arrive pas.
Auriez-vous une idée svp?
Smiley up

Bonsoir à tous,

Désolé, mais un petit up s'impose, je n'ai toujours pas trouvé de solution.
Si quelqu'un peut m'aider...