Page 1 sur 1
problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 16:44
par stone
Bonjour,
j'ai un petit problème à vous soumettre, en effet je suis en train de faire en sorte que la description de mon site web dans les meta name="description" change en fonction de la page appelé, jusque là tout va bien grace a cette commande : (ceci est juste un exemple)
Code : Tout sélectionner
<meta name="description" content="<?php if ( $_SERVER['REQUEST_URI']=="/categorie-diable-2-0.html" )
{ echo "Diable : citations sur le Diable"; } else { echo "Site consacré aux proverbes et citations du monde entier" ; } ?>" />
mon problème est que mes pages "categorie-diable-2-0.html" vont de 2-0 à 2-90 et je ne vais pas retaper 90 fois cette commande ( se serait un peu bête !!! ), donc ma question est simple :
comment faire en sorte qu'une seule commande prenne en compte toutes mes pages, exemple :
Code : Tout sélectionner
<meta name="description" content="<?php if ( $_SERVER['REQUEST_URI']=="/categorie-diable-2-0.html jusqu'à /categorie-diable-2-90.html" )
{ echo "Diable : citations sur le Diable"; } else { echo "Site consacré aux proverbes et citations du monde entier" ; } ?>" />
j'espère que je me suis bien exprimé, n'hésitez pas à me demander des précisions,
merci d'avance
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 16:55
par AB
if (strpos($_SERVER['REQUEST_URI'],'categorie-diable') !== false) echo "Site consacré aux proverbes et citations du monde entier" ;
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 16:56
par stealth35
ouai ca peu le faire (dois y avoir mieux mais ca marche)
preg_match('/categorie-diable-2-(\d+).html/', $_SERVER['REQUEST_URI'], $matches);
if($matches[1] >= 0 && $matches[1] <= 90)
{
echo 'Diable : citations sur le Diable';
}
else
{
echo 'Site consacré aux proverbes et citations du monde entier';
}
mais t'as vraiment 90 pages en dur ???
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 17:43
par stone
Non je n'ai pas vraiment 90 pages, en fait les chiffres dans mon URL vont par exemple aller jusqu'a 2-90 mais 90 c'est le nombres de citations, vu q'il y a 9 citations par page, ca me fait en fait 10 pages ( 2-0;2-9;2-18...jusqu'a 2-90 )
merci pour les réponses je vais tester, mais juste une question : ce n'est pas trop lourd pour le serveur ?
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 17:44
par Yosh
Juste pour l'info,
J'appel ça du meta-rewriting et généralement je le couple avec de l'url-rewriting
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 17:49
par AB
preg_match('/categorie-diable-2-(\d+).html/', $_SERVER['REQUEST_URI'], $matches);
if($matches[1] >= 0 && $matches[1] <= 90)
{
echo 'Diable : citations sur le Diable';
}
else
{
echo 'Site consacré aux proverbes et citations du monde entier';
}
Bof ça sert à pas grand chose de passer par un preg_match pour si peu, à part gaspiller des ressources et faire des contrôles inutiles qui par ailleurs peuvent s'avérer handicapants si le nb de pages venait à augmenter ... tout ça pour afficher une balise méta. Pourquoi déclencher la grosse artillerie pour tuer une mouche ?
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 17:50
par stealth35
Non je n'ai pas vraiment 90 pages, en fait les chiffres dans mon URL vont par exemple aller jusqu'a 2-90 mais 90 c'est le nombres de citations, vu q'il y a 9 citations par page, ca me fait en fait 10 pages ( 2-0;2-9;2-18...jusqu'a 2-90 )
merci pour les réponses je vais tester, mais juste une question : ce n'est pas trop lourd pour le serveur ?
ouai mais c'est pour ca derrière c'est en PHP tu récupères les valeurs via $_GET pourquoi ne pas faire ta condition la dessus ?
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 17:52
par stealth35
Bof ça sert à pas grand chose de passer par un preg_match pour si peu, à part gaspiller des ressources et faire des contrôles inutiles qui par ailleurs peuvent s'avérer handicapants si le nb de pages venait à augmenter ... tout ça pour afficher une balise méta. Pourquoi déclencher la grosse artillerie pour tuer une mouche ?
ouai mais comme
mon problème est que mes pages "categorie-diable-2-0.html" vont de 2-0 à 2-90 et je ne vais pas retaper 90 fois cette commande
j'ai résolu bêtement le problème
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 18:06
par stone
Juste pour l'info,
J'appel ça du meta-rewriting et généralement je le couple avec de l'url-rewriting
j'utilise en effet l'url-rewriting, je ne connais pas le meta-rewriting !
ouai mais c'est pour ca derrière c'est en PHP tu récupères les valeurs via $_GET pourquoi ne pas faire ta condition la dessus ?
je ne comprend pas ce que tu veux dire ?
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 18:12
par AB
Bof ça sert à pas grand chose de passer par un preg_match pour si peu, à part gaspiller des ressources et faire des contrôles inutiles qui par ailleurs peuvent s'avérer handicapants si le nb de pages venait à augmenter ... tout ça pour afficher une balise méta. Pourquoi déclencher la grosse artillerie pour tuer une mouche ?
ouai mais comme
mon problème est que mes pages "categorie-diable-2-0.html" vont de 2-0 à 2-90 et je ne vais pas retaper 90 fois cette commande
j'ai résolu bêtement le problème
Oui mais j'avais répondu plus simplement juste avant :
if (strpos($_SERVER['REQUEST_URI'],'categorie-diable') !== false) echo "Site consacré aux proverbes et citations du monde entier" ;
Donc c'était pour dire que je ne trouve pas q'un preg_match soit indispensable dans ce contexte.
merci pour les réponses je vais tester, mais juste une question : ce n'est pas trop lourd pour le serveur ?
Le strpos est le plus optimisé et de loin, niveau rapidité. preg_match est beaucoup plus puissant et donc plus gourmand mais à mon avis superflu dans ce cas. Enfin quoique tu choisisses ton serveur n'aura pas de pb pour suivre.
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 18:13
par stealth35
ton adresse est de type :
bidule-2-10.html
la ou 2 et 10 sont sans doute dynamique, ta vrai page doit ressemblé a :
citation.php?categorie=2&id=10
ca veux donc dire que dans ton PHP
$_GET['categorie'] = 2
$_GET['id'] = 10
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 18:15
par stealth35
Oui mais j'avais répondu plus simplement juste avant :
j'etais entrain d'écrire quand ta poster et j'ai pas lu j'ai validé

Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 18:46
par stone
if (strpos($_SERVER['REQUEST_URI'],'categorie-diable') !== false) echo "Site consacré aux proverbes et citations du monde entier" ;
oui en fait je n'avais pas compris ce code, en effet je l'ai mis en service et il fonctionne parfaitement,
merci à tous de m'avoir donner ces réponses
Re: problème sur $_SERVER['REQUEST_URI']
Posté : 15 févr. 2010, 18:59
par AB
Si résolu, un petit résolu (sur un bouton à coché résolu) serait le bienvenu pour indiquer aux autres que le sujet contient une solution

Re: problème sur $_SERVER['REQUEST_URI']
Posté : 11 mars 2010, 12:15
par VestaX
Merci à toi AB. Effectivement j'avais le même problème sur un oscommerce. Ton code marche parfaitement, je l'ai adapté par rapport à mes pages, et c'est niquel. merci
