meta variables pour site php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : meta variables pour site php

Re: meta variables pour site php

par spokito » 16 sept. 2011, 16:55

merci beaucoup, j'ai pigé- je vais tester tout ça ;)

Re: meta variables pour site php

par macgawel » 16 sept. 2011, 16:36

Là, je ne peux pas t'aider comme ça.
Ca dépend de pas mal de choses, en fait. La seule chose de sûr, c'est qu'il faut que tu récupères le titre avant de l'afficher :mrgreen:

1. Si tu veux juste mettre le nom de la page dans la balise title, tu peux le récupérer avec le GET :
<?php // au début d'index.php. A sécuriser, bien sûr...
$titre = 'accueil';
if (!empty($_GET['page'])) {
   $titre = $_GET['page'];
}
2. Tu peux aussi commencer par l'include(), et stocker le contenu dans une variable au lieu de l'afficher.
Ensuite, dans le body tu fais un echo $contenu;

3. Tu peux stocker les "métas" dans un fichier (ou un par page, voire dans une BDD, mais c'est plus complexe, surtout si tu n'en utilises pas encore), et récupérer la/les valeurs.
Avantage : tu peux récupérer d'autres paramètres (description, mots-clés, fichier CSS à utiliser, etc.).
(Autre avantage, avec ce genre de méthode tu peux relativement facilement créer un formulaire de MàJ de ces paramètres, pour l'administrateur du site)
<?php
$page = 'accueil';
if (!empty ($_GET['page']) ) {
	$page = $_GET['page'];
}
// on récupère le contenu du fichier de "paramètrage" sous la forme nomPage;titre;autres
$fic = file('test1.csv');
foreach ($fic as $ligne) {
/*
 Si on ne trouve pas la page demandée, on utilisera par défaut les paramètres 
		de la première ligne de paramètres
 => on récupère le contenu de la première ligne
*/
	if (!isset($params)) { 
		$params = explode(';', $ligne);
	}
// Si on trouve la page demandée, on récupère les paramètres correspondant
	if (in_array($page, explode(';', $ligne)) ) {
		$params = explode(';', $ligne);
	}
}
$titre = $params[1];

echo 'titre = '.$titre;
?>

Re: meta variables pour site php

par spokito » 16 sept. 2011, 15:52

ok je vois ce que tu veut dire. comment je dois gérer ce truc là alors ?

Re: meta variables pour site php

par macgawel » 16 sept. 2011, 15:49

Dans ce cas c'est logique...
<meta name="Title" content="DES AVIONS ET DES MAQUETTES&nbsp;/<?php echo $titre; ?>" lang="fr" xml:lang="fr" />
// ...
include('accueil.php');
include() demande à PHP de faire un copier/coller du contenu de accueil.php, à l'endroit où il est.
=>
<meta name="Title" content="DES AVIONS ET DES MAQUETTES&nbsp;/<?php echo $titre; ?>" lang="fr" xml:lang="fr" />
// ...
// le "résultat de l'include
$titre="&nbsp;accueil";
Au moment où tu fais ton echo, la variable $titre est inexistante #-o
Tu peux vérifier comme ça (c'est une technique basique utile pour savoir si tuexécutes bien un echo) :
<meta name="Title" content="DES AVIONS ET DES MAQUETTES&nbsp;/<?php echo "toto ".$titre." tata"; ?>" lang="fr" xml:lang="fr" />

Re: meta variables pour site php

par spokito » 16 sept. 2011, 15:44

la suite de l'index avec le body

Code : Tout sélectionner

<body> <table width="1024" align="center" > <tr> <!-- Première ligne,Premiere colonne, La cellule de connexion --> <td width="220" height="120" class="back_log"> <?php include 'log.php' ; ?> </td> <!-- Premiere ligne, Deuxième colonne, La cellule du bandeau tournant --> <td width="584" height="120"class="align_middle_couleur_fond_sombre"> <?php $nbimages=8; $nomimages[1]="f1.gif"; $nomimages[2]="f2.gif"; $nomimages[3]="f3.gif"; $nomimages[4]="f4.gif"; $nomimages[5]="f5.gif"; $nomimages[6]="f6.gif"; $nomimages[7]="f7.gif"; $nomimages[8]="f8.gif"; srand((double)microtime()*1000000); $affimage=rand(1,$nbimages); ?> <img src="images/<? echo$nomimages[$affimage];?>"border="0" alt="Imageal&eacute;atoire" /> </td> <!-- Première ligne, Troisième colonne, La cellule de recherche --> <td width="220" rowspan="2" > <?php include 'lignesearch.php' ; ?> </td> </tr> <!-- Deuxième ligne,La cellule des stats générales --> <tr> <td colspan="2" align="center" valign="middle"> <?php include 'statgenerale.php'; ?></td> </tr> </table> <!-- -- tableau communication-- --> <table width="1024" border="0" cellspacing="3" cellpadding="0" align="center" summary="zone publicitaire bandeau"> <tr> <td><div align="center"><a href="http://www.gdkits.com/" target="_blank"><img src="images/gdkits.gif" alt="gdkits.com" longdesc="http://www.gdkits.com/" /></a>&nbsp;<a href="http://www.mach-shop.com/" target="_blank"><img src="images/logomach.jpg" alt="logomach.jpg" width="160" height="34" longdesc="http://www.mach-shop.com/" /></a>&nbsp;<a href="http://www.clostercolor.com/" target="_blank"><img src="images/web385.jpg" alt="Blog de Clostermann" width="160" height="34" /></a></div> </td> <td class="twitter"> <div id="google_translate_element"></div> <script> function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'fr', includedLanguages: 'de,en,ar,zh-CN,es,it,ja,ru', gaTrack: true, gaId: 'UA-24541747', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL }, 'google_translate_element'); } </script> <script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> </td> </tr> </table> <!--On attaque le corps de la page --> <table width="1024" border="0" align="center" cellpadding="0" cellspacing="0" valign="top" > <tr> <td colspan="9" valign="top"> <!-- Début du bandeau de gauche --> <table width="176" valign="top" class="Back_2" > <tr ><td width="168" align="center" valign="top" class="Back_2" >MENU CONNEXION</td> <!--menu redacteur --> <?php if(checkconnected()){ //$_SESSION['numredac']<4 ?> <?php $sql="select type from utilisateur"; if($resultat = mysql_query($sql)){ $red = mysql_fetch_array($resultat); showprotected(4,$red['type'],"<tr ><td align=\"center\" valign=\"top\" class=\"Back_menu\"><a href=\"index.php?page=stat_indiv\">Stats indiv</a></td></tr> <tr ><td align=\"center\" valign=\"top\" class=\"Back_menu\" ><a href=\"index.php?page=liste_redac\">Liste Rédac</a></td></tr> <tr ><td align=\"center\" valign=\"top\" class=\"Back_menu\" ><a href=\"index.php?page=fichenews\">newsletter</a></td></tr> "); } else echo 'erreur sql:'.mysql_error(); ?> <tr ><td align="center" valign="top" class="Back_menu"><a href="index.php?page=cha" title='accès tchat'>Tchat box</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu"><a href="index.php?page=pagearticle&nmembre=<?php echo $_SESSION['loginname'] ?>" title='accès à votre web-vitrine'>Ma web-vitrine</a></td></tr> <tr ><td width="168" align="center" valign="top" class="Back_2" >MENU REDACTION</td> </tr> <!--<tr><td>saisies bloquée pendant les derniers travaux<br /><br />merci pour votre compréhension</td></tr>--> <tr ><td align="center" valign="top" class="Back_menu"><a href="index.php?page=fichav" title='ajoutez un nouvel avion ou hélico'>Nouvelle fiche avion</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=creacons" title='créez un nouveau constructeur aéronautique'>Nouveau Constructeur </a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=fichart" title='ajoutez une maquette dans votre web-vitrine'>saisie web-vitrine</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=fichemaq" title='ajoutez un produit maquette (kit,détaillage,décal,masque)'>Nouveau produit maquette</a></td></tr> <tr > <td align="center" valign="top" class="Back_menu" ><a href="index.php?page=creamarque" title='ajoutez un fabricant de produit maquette'>Nouveau fabricant kit</a></td> </tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=ficheli" title='ajoutez un lien web intéressant pour une fiche avion ou hélico'>Nouveau lien web </a></td></tr> <!-- <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=creadoc">Nouvelle documentation</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=crearevue">Nouvelle revue</a></td></tr> --> <?php } ?> <tr ><td align="center" valign="top" class="Back_2" >MENU GENERAL</td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=accueil" title="accueil">Accueil </a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=tutoriels" title="tutoriels vidéos">videos tutoriel</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=pays" title="recherche par pays/constructeurs">pays/constructeurs</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=liens" title="Liens divers et fabricants de kits/accessoires">Liens</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=partenaires" title="Nos partenaires commerciaux">Partenariat</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=contact" title="Nous contacter">Contact</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=premiere" title="le projet desavionsetdesmaquettes.com" >Le Projet</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="http://fighters.forumactif.com/f173-rubrique-speciale-du-site-des-avions-et-des-maquettes" title="Forums gentiment h&eacute;berg&eacute; par notre partenaire Fighters !" target="_blank">Forums d'entraide</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=inscript" title="Vous inscrire pour devenir r&eacute;dacteur" >Inscription</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=oubli" title= "Vous avez perdu votre mot de passe ?" >Recuperation MP</a></td></tr> <tr ><td align="center" valign="top" class="Back_menu" ><a href="index.php?page=newsletter" title= "archives newsletters" >Archives newsletters</a></td></tr> <tr><td align="center" valign="top" class="twitter"><!---------bouton twitter----------> <a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="desavionsetdesm" data-lang="fr">Tweeter</a> <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> </td> </tr> <!-- LE PROJET --> <tr ><td align="center" valign="top" class="Back_menu"><a href="index.php?page=premiere"><img src="images/toc.gif" width="160" height="161" /></a></td></tr> <!--EXPO FIGHTERS --> <tr ><td align="center" valign="top"class="Back_menu"><a href="http://fighters.forumactif.com/t44241-dossier-d-inscription-pour-notre-expo" target="_blank"><img src="images/expof.jpg" alt="expo fighters 2011" longdesc="http://fighters.forumactif.com" width="160" /></a></td></tr> <!-- LOGO TOURNAT FORUMS --> <tr ><td align="center" valign="top" class="Back_menu"><p align="center"><marquee scrolldelay="20" scrollamount="2" >Forums maquettes</marquee></p></td></tr> <!-- LIENS FORUM FIGHTERS --> <tr ><td align="center" valign="top"class="Back_menu" > <a href="http://fighters.forumactif.com/" target="_blank"><img src="images/lienfighters.jpg" alt="lien fighters " width="160" height="34" border="0" longdesc="http://fighters.forumactif.com"/></a></td></tr> <!--FORUM MASTER194 --> <tr ><td align="center" valign="top" class="Back_menu"><a href="http://www.master194.com/forum/" target="_blank"><img src="images/bannieremaster194.jpg" alt="lien master194 " width="160" height="34" border="0" longdesc="http://www.master194.com/forum/"/></a></td></tr> <!--FORUM TSAHAL --> <tr ><td align="center" valign="top" class="Back_menu"> <a href="http://tsahal.forumperso.com/" target="_blank"><img src="images/pub_tsahal.jpg" width="160" height="34" border="0" /></a></td></tr> <!--FORUM romandie maquettisme --> <tr > <td align="center" valign="top" class="Back_menu"> <a href="http://romandiemaquette.bb-fr.com/" target="_blank"><img src="images/pub_rm.jpg" width="160" height="34" border="0" /></a></td></tr> <!--FORUM Heavyplastic --> <tr > <td align="center" valign="top" class="Back_menu"> <a href="http://www.heavyplastic.com/" target="_blank"><img src="images/pub_hp.jpg" width="160" height="34" border="0" /></a></td></tr> <tr> <td class="Back_menu">&nbsp;</td> </tr> </table></td> <!-- On passe maintenant au contenu de la page principal Appel par GET en INCLUDE --> <td width="800" align="center" valign="top"> <?php //echo $_GET['page'].'<br>'; if (!isset($_GET['page'])) include 'accueil.php';// au lieu de include accueil.php else{ include $_GET['page'].'.php'; } ?> </td> <!--Pied de page --> <tr> <td colspan="14" align="center" valign="middle" > Des avions & des maquettes.com . &copy;2007-2011 .<a href="index.php?page=contact" target="_parent"> Contact</a></td> </tr> <tr><td> <div id="btn_up"><img alt="Retour en haut" title="Retour en haut" src="images/up.png" width="40" /></div></td></tr> </table> <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="js/jquery.jDiaporama.js"></script> <script type="text/javascript" src="js/script.js"></script> <script type="text/javascript" >// fonction montrer/cacher function DivStatus( nom, numero ) { var divID = nom + numero; if ( document.getElementById && document.getElementById( divID ) ) // Pour les navigateurs récents { Pdiv = document.getElementById( divID ); PcH = true; } else if ( document.all && document.all[ divID ] ) // Pour les veilles versions { Pdiv = document.all[ divID ]; PcH = true; } else if ( document.layers && document.layers[ divID ] ) // Pour les très veilles versions { Pdiv = document.layers[ divID ]; PcH = true; } else { PcH = false; } if ( PcH ) { Pdiv.className = ( Pdiv.className == 'cachediv' ) ? '' : 'cachediv'; } } </script> <script type="text/javascript">//fonction bouton retour haut sur index $(function(){ $('#btn_up').click(function() { $('html,body').animate({scrollTop: 0}, 'slow'); }); $(window).scroll(function(){ if($(window).scrollTop()<400){ $('#btn_up').fadeOut(); }else{ $('#btn_up').fadeIn(); } }); }); </script> </body> </html> [code]

Re: meta variables pour site php

par spokito » 16 sept. 2011, 15:42

- le include() est bien fait avant d'afficher la balise ?
Dans le code que tu donnes, je ne vois pas à quel moment tu inclus ta page d'accueil...
ah pardon, effectivement c'est apres puisque c'est dans le body

Re: meta variables pour site php

par macgawel » 16 sept. 2011, 15:41

- le include() est bien fait avant d'afficher la balise ?
Dans le code que tu donnes, je ne vois pas à quel moment tu inclus ta page d'accueil...

Re: meta variables pour site php

par spokito » 16 sept. 2011, 15:36

merci de regarder ça ;)

voilà mes codes :
index.php jusqu'à </head>

Code : Tout sélectionner

<?php header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé session_start(); include('./connect/connect.php'); if(!isset($_POST['login'])){ if(!isset($_SESSION['typeredacteur'])){ unset($_SESSION['typeredacteur']); } }else{ $login=$_POST['login']; $pwd=$_POST['pwd']; $sqllog="SELECT numredacteur, login, typeredac FROM redacteur WHERE login='$login' AND password='$pwd';"; $resultatlog=mysql_query($sqllog); if($ligne=mysql_fetch_array($resultatlog)){ $_SESSION['typeredacteur']=$ligne['typeredac']; $_SESSION['numredac']=$ligne['numredacteur']; $_SESSION['loginname'] = $login; }else unset($_SESSION['typeredacteur']); } function showprotected($minlevel,$owner,$text='',$failtext=''){ //minlevel niveau minimum pour l'affichage du $text //$owner est le propriétaire //$text est le texte à afficher si OK if(hasrights($minlevel,$owner)) echo $text; else echo $failtext; } function hasrights($minlevel,$owner){ $allow = false; if($_SESSION['typeredacteur'] >= $minlevel){ //niveau minimum de droit atteint ? if ($_SESSION['typeredacteur'] == 1){ //un utilisateur normal ? if ($_SESSION['numredac'] == $owner) //le propriétaire de la fiche ? $allow = true; }else $allow = true; } return $allow; } if(!isset($_SESSION['idavion'])){$_SESSION['idavion']=1;} if(!isset($_SESSION['idavionmaq'])){$_SESSION['idavionmaq']=1;} ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <html xmlns:fb="http://www.facebook.com/2008/fbml"> <link href='http://fonts.googleapis.com/css?family=Days+One' rel='stylesheet' type='text/css'> <!-- http://www.jejavascript.net/ //--> <meta http-equiv="X-UA-Compatible" content="IE=8" /> <meta http-equiv="Content-Language" content="fr" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta name="Title" content="DES AVIONS ET DES MAQUETTES&nbsp;/<?php echo $titre; ?>" lang="fr" xml:lang="fr" /> <meta name="Identifier-url" content="http://www.desavionsetdesmaquettes.com" /> <meta name="Description" content="site wiki de partage de donn&eacute;es destin&eacute;s aux passionn&eacute;s de maquettes d'avions et h&eacute;licopt&egrave;res" lang="fr" xml:lang="fr" /> <meta name="Abstract" content="site wiki de partage de donn&eacute;es destin&eacute;s aux passionn&eacute;s de maquettes d'avions et h&eacute;licopt&egrave;res" /> <meta name="Keywords" content="maquette,maquettes,MAQUETTE,MAQUETTES,avion,avions,forum,forom,liste,24,32,48,72,list,kit,kits,KIT,KITS,plastique,plastiques,plastic,tri,classement,ordre,hydravion,h&eacute;lico,h&eacute;lice,h&eacute;lices,r&eacute;action,r&eacute;acteur,jet,jets,ww2,ww1" lang="fr" xml:lang="fr" /> <meta name="Date-Creation-yyyymmdd" content="20070101" /> <meta name="Date-Revision-yyyymmdd" content="20110501" /> <meta name="google-site-verification" content="UfmsGSR88k9LYwqIM6BinQacCJzoe2rk6LFXIkgHbgE" /> <meta name="Distribution" content="Global" /> <meta name="Rating" content="General" /> <meta name="Robots" content="index, follow" /> <meta name="Revisit-After" content="15 days" /> <title>DES AVIONS ET DES MAQUETTES</title> <!--fonction favicon--> <link href='http://fonts.googleapis.com/css?family=Walter+Turncoat' rel='stylesheet' type='text/css'><!---police speciale google---> <link rel="icon" type="image/png" href="http://www.desavionsetdesmaquettes.com/images/icon.png" /> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"> {lang: 'fr'} </script> <!-- Cascading Style Sheets --> <link href="style.css" rel="stylesheet" type="text/css" /> <link href="menunav.css" rel="stylesheet" type="text/css" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-24541747-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </head>
ma page d'accueil qui me sert de test commence par ceci :

Code : Tout sélectionner

<?php $titre="&nbsp;accueil"; ?> <table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><!-------texte d'acceuil-------------->
et firebug voit ceci :

Code : Tout sélectionner

<meta lang="fr" xml:lang="fr" content="DES AVIONS ET DES MAQUETTES /" name="Title">

Re: meta variables pour site php

par macgawel » 16 sept. 2011, 15:14

Bonjour.

Quelques petites choses à vérifier en attendant que tu nous donnes du code :
- le include() est bien fait avant d'afficher la balise ?
- ta balise meta est dans quel fichier ?
- Quand tu affiches le code source de ta page, tu as quoi ?

meta variables pour site php

par spokito » 16 sept. 2011, 15:05

bonjour à tous,
pour optimiser le référencement, j'essaie de peaufiner différents éléments améliorables de mon site via l'analyse sur wworank http://www.woorank.com/fr/www/desavions ... uettes.com

j'ai un soucis avec la balise titre (entre autres) qui est statique et que je dois rendre dynamique en fonction de la page .php.

j'ai vu sur le net que l'on pouvait inclure du php dans les metas donc ma meta titre peut être codée comme ça par exemple :

Code : Tout sélectionner

<meta name="Title" content="DES AVIONS ET DES MAQUETTES&nbsp;/<?php echo $titre; ?>" lang="fr" xml:lang="fr" />
et dans chacune de mes pages .php j'inclus un simple code php comme celui-là :

Code : Tout sélectionner

<?php $titre="titre de ma page"; ?>
le soucis c'est que je viens de faire un test avec firebug pour voir si le code est pris en compte et non malheureusement le "content" reste limité au html et ne voit pas le php.

ceci dit c'est peut être normal mais je viens vers vous pour savoir si je fais bonne route ou pas ;) ou si c'est ma méthode de test qui n'est pas appropriée

merci pour votre réponse