8795 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un site avec une page index.php, avec footer, menu ... qui appel les autres pages de mon site. Par contre avec cette méthode, j'ai le même titre unique sur chacune de mes pages. Comment faire pour avoir un titre différent sur chaque page ?

<head><title><?php echo $metatitre ?></title>
<meta name="description" content="<?php echo $metadescription ;?>"/>

....
<div id="content">
            <? if(!isset($_GET['p']) ) include("pages/actualite.php");
            elseif( preg_match("#\.\.#",$_GET['p'])) {?>  <script type="text/javascript">$(function(){getAjax('<? echo $_GET['p'] ?>',<? echo $_GET['r'] ?>);});</script><?}
            
            elseif(!preg_match("#\.\.#",$_GET['p']))  { $p=$_GET['p']; include("pages/$p");}
            ?>
            
    </div>



merci
Salut,

Avec
$_SERVER['PHP_SELF'] 
, tu peux récupérer le nom de la page en cours, du coup tu dois pouvoir faire un test qui selon la page en cours va renvoyer la bonne description, ou sinon tu peux remplir un tableau dont la clé sera la page en cours, et la valeur retourner la description, ce qui remplira ensuite automatiquement la description
Modifié par mathieu1004 (28 Jan 2014 - 11:30)
Zelalsan a écrit :
Ou en définissant simplement la variable &quot;metatitre&quot; et &quot;metadescription&quot; avant chaque include.



Comment ça ? j'ai un fichier unique index.php, avec suivant la page une include actualite.php ou massage.php etc qui commence directement par le body...
dsl je suis surper nul en php, il faudrait faire un truc comme ça ?

<head><?php if ($_SERVER[PHP_SELF]==../pages/accueil.php) {
<title><?php echo $titreaccueil ;?></title>
} ?>

....

Modifié par silence (28 Jan 2014 - 18:43)
Tu as bien un include pour ton entête et ton pied de page ?

<?php
	$metatitre = "Ton titre";
	$metadescription = "Description";
	require_once("ton_fichier.inc.php");
?>

et tu utilises tout bêtement tes variables directement.
Zelalsan a écrit :
Tu as bien un include pour ton entête et ton pied de page ?

&lt;?php
	$metatitre = &quot;Ton titre&quot;;
	$metadescription = &quot;Description&quot;;
	require_once(&quot;ton_fichier.inc.php&quot;);
?&gt;

et tu utilises tout bêtement tes variables directement.


En faite ce n'est pas dans chacune des pages que sont include le footer et pied de page... Mais le contraire, c'est à dire, que ce sont les pages qui sont include dans l'index. Je ne peux donc pas simplement include pour chaque page un fichier php contenant titre et description... ?!
Bah sur le même principe que tu va parser tes getteurs pour savoir quelle page affiché, tu dois pouvoir associer des mots clés titres and co.

Edit : Je schematise pour être un peu plus clair :
Des le départ : si ton getteur=5 qui signifique que c'est la page contact (exemple)
$description='contact';
$titre= 'Me contacter';
$page='contact.php'

puis ensuite les balises html, head, meta1 et 2 = $titre et $descriptions , puis ensuite fin de head et ouverture du body, le menuton include $page et fin de body et html.
Modifié par mathieu1004 (29 Jan 2014 - 15:16)
Ok du coup j'ai fait ça, et ça semble fonctionner !

$metatitre="titre index";
$metadescription="description index ";
$metakeywords="keywords index ";


// titre et description personnalisée pour la page  www.monsite.fr/autrepage.php
 
if(stristr($_SERVER['REQUEST_URI'], 'autrepage') !== FALSE) {
$metatitre="titre autrepage";
$metadescription="description autrepage";
}

....


Merci !