passer ds variable dans ds metas

passer ds variable dans ds metas - PHP - Programmation

Marsh Posté le 16-02-2006 à 10:56:24    

Bonjour,  
 
je voudrais savoir si c'est possible de passer ds instructions PHP dans les balises meta cad
un truc du type:
 
<META NAME="keywords" content="<? echo $_SESSION['nom_categorie'];?>">
 
par exemple...
 
A priori j'ai testé cela ne fonctionne pas, quelqu'un aurait une solution??
 
Merci d'avance :jap:

Reply

Marsh Posté le 16-02-2006 à 10:56:24   

Reply

Marsh Posté le 16-02-2006 à 11:09:48    

a) je ne vois pas pourquoi ca ne marcherait pas (a part si $_SESSION['nom_categorie'] n'est pas definie cf. b) )
b) a quoi ca sert sachant que les keywords sont destinés au spider des moteurs de recherches et que pour eux les sessions c'est pas top (enfin il me semble)


---------------
D3
Reply

Marsh Posté le 16-02-2006 à 11:31:48    

Je ne vois pas non plus pourquoi ca ne marcherait pas si la variable de session est bien définie.

Reply

Marsh Posté le 16-02-2006 à 11:35:14    

lol, j'avais pas tilter avant d'arriver au b de ta réponse mechkurt!
Mais efectivement je vois mal ça fonctionner avec un moteur de recherche!
 
Sinon ce que je fais en général, puisque j'utilise des templates, ça ressemble plutôt à quelquechose comme ça :
 
<META NAME="keywords" content="{meta_keywords}">  
 
Et donc insertion des mots clé automatiquement lors du rendu. Mais sinon, si ta variable est définie et n'est pas vide ça mettra quelque chose c'est forcé, sans oublié session_start() compte tenu du type de variable.

Reply

Marsh Posté le 16-02-2006 à 12:02:16    

pourtant il y a bien ma valeur ds la variable, j'ai mon session_start()
mais rien quand je veux recupérer le keywords...

Reply

Marsh Posté le 16-02-2006 à 12:04:52    

Bah écoute c'est simple :
si <? echo $_SESSION['nom_categorie'];?> affiche quelque chose dans ta page alors <META NAME="keywords" content="<? echo $_SESSION['nom_categorie'];?>"> marchera aussi. A moins que la variable ne soit définie que lors de l'exécution du script et pas suffisamment tôt pour être mise dans le meta.

Reply

Marsh Posté le 16-02-2006 à 12:10:35    

je pensais à cela aussi mais nan il y a bien ma valeur ds $_SESSION['nom_categorie'] au bon moment...

Reply

Marsh Posté le 16-02-2006 à 12:17:04    

meme un simple echo de texte ne me renvoie rien donc le pb viens de la deja...
Je peux pas passer de php ds le content c'est bizarre...

Reply

Marsh Posté le 16-02-2006 à 12:22:28    

On peut voir ton code? Synthétisé.

Reply

Marsh Posté le 16-02-2006 à 12:26:20    

Code :
  1. <head>
  2. <META NAME="ROBOTS" content="all">
  3. <META NAME="keywords" content="<? echo $_SESSION['nom_categorie'];?>">
  4. <META NAME="title" content="Liste des <? echo $_SESSION['nom_categorie'];?>">
  5. <title>Liste des <?echo $_SESSION['nom_categorie'];?></title>
  6. </head>


 
le traitement:
 

Code :
  1. if (eregi(".php",$Entry))
  2.  {
  3.   $MetaTags = get_meta_tags($Directory."/".$Entry);
  4.   if(!isset($MetaTags["robots"]))
  5.   echo"<font color=\"red\">Il n'y a pas de meta dans le fichier $Entry. </font><br>";
  6.   else
  7.   if ($MetaTags["robots"] == "all" )
  8.   {
  9.    $MetaKey = $MetaTags["keywords"];
  10.    $MetaKey = strtoupper($MetaKey);
  11.    echo "localité: ($Directory/$Entry), nom du meta:  $MetaKey\n<br>";

Reply

Marsh Posté le 16-02-2006 à 12:26:20   

Reply

Marsh Posté le 16-02-2006 à 12:48:21    

Et tu les défini où test variables de session????????????
PS: balise <font> à bannir! >>> <span>

Reply

Marsh Posté le 16-02-2006 à 13:56:03    

pr la balise font c'est du code rapporté j'utilise le css pr cela...
pr mes variables de session elles sont définies ds le index.php à la redirection...
 

Code :
  1. if (isset($_GET['page']))
  2.   {
  3.    switch($_GET['page'])
  4.    {
  5.     default: include ('centre.php');break;
  6.     case 'centre': include ('centre.php');break;
  7.     case 'COMPOSANTS':
  8.     $_SESSION['nom_categorie'] = "COMPOSANTS";
  9.     include ('categorie.php');
  10.     break;

Reply

Marsh Posté le 16-02-2006 à 13:57:46    

mais bon je pense plus que c'est au niveau de la var de session car
meme cette ligne ne passe pas :
 
<META NAME="keywords" content="<? echo "test";?>">

Reply

Marsh Posté le 16-02-2006 à 14:54:25    

L'extension du fichier de ton script est bien .php?
php est installé? Apache est au courant?

Reply

Marsh Posté le 16-02-2006 à 15:00:28    

yes tt fonctionne bien...

Reply

Marsh Posté le 16-02-2006 à 15:02:12    

Franchement si un simple <? echo "test"; ?> ne fonctionne pas que tu me garantie que tout est installé correctement alors je n evois pas ce qui va pas dsl.

Reply

Marsh Posté le 16-02-2006 à 15:04:00    

et on peut voir le code généré stp ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 16-02-2006 à 15:04:41    

merci quand meme...

Reply

Marsh Posté le 16-02-2006 à 18:50:47    

Citation :

$MetaTags = get_meta_tags($Directory."/".$Entry);


 
Heu, c'est moi où t'essaye de récupérer les balises meta en lisant le fichier directement sur le disque dur?
Si c'est ça, alors c'est normal que ca merde vu qu'en lisant le fichier directement sur le disque dur, il ne sera pas exécuté par un exécuteur php.


Message édité par omega2 le 16-02-2006 à 18:51:07
Reply

Marsh Posté le 20-02-2006 à 10:36:23    

c'est vrai... mais comment dois-je faire alors?

Reply

Marsh Posté le 20-02-2006 à 12:12:40    

Le plus simple pour faire ça, c'est de demander la page à un serveur web.

Reply

Marsh Posté le 20-02-2006 à 13:52:35    

tu pourrais m'expliquer car je ne comprends pas trop là...
 
merci d'avance...

Reply

Marsh Posté le 20-02-2006 à 15:43:48    

[:sh@rdar]  
en clair :
pas faire fopen ("..\monfichier.php" );
mais fopen("http://localhost/dossier/monfichier.php" );

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed