Problème d'une variable locale -> globale dans 1 même scr

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 : Problème d'une variable locale -> globale dans 1 même scr

par Cyrano » 08 oct. 2005, 23:19

Tu peux parfaitement placer ton code PHP avant l'en-tête de ta page HTML, ça ne changera rien au référencement pour la simple raison que les robots d'indexation liront la même chose que les internautes, c'est à dire du HTML. Le PHP est exécuté coté serveur et n'est pas envoyé au navigateur.

Problème d'une variable locale -> globale dans 1 même scr

par Lorange » 08 oct. 2005, 22:22

Bonjour,

Je suis bloqué dans l'un de mes scripts. Malgré mes recherches, je ne parviens é rien. Je vous l'illustre ci-dessous dans un code simplifié:

Admettons que j'aie, dans ma page, une variable définie dans une fonction de type :

Code : Tout sélectionner

if ($profil=='homme') {$motcle="slips";} else $motcle="soutien-gorge";
Si le profil est celui d'un homme, la variable motcle prend la valeur "slip", sinon elle devient "soutien-gorge".

Maintenant, imaginons que je souhaite insérer cette valeur parmi les mots clés de la page... afin de faire une page à mots-clés dynamiques.

Problème: La variable motcle est une variable locale. Je ne peux donc l'utiliser en dehors de la fonction. J'ai donc essayé d'en faire une variable globale ainsi:

Code : Tout sélectionner

$motcle="slip"; global $motcleGlobal; $motcleGlobal = $motcle;
Ceci fonctionne. En effet, si je fais un

echo $motcleGlobal après la fonction où la variable a été définie, j'ai bien "slip" ou "soutien-gorge" qui s'affiche. Par contre, si je fais un echo $motcleGlobal avant la fonction, plus rien ne s'affiche. Comme vous l'avez compris, je veux afficher cette variable dans la balise "keywords", c'est à dire dans le head de la page. Je pourrais placer la fonction dans le head, avant la balise keywords, mais j'aimerais une autre solution. Car ma véritable fonction appelle des include et je ne souhaite rien placer avant mes balises title, keywords, etc. (question de référencement).

Qui peut me proposer une autre solution? Si possible, je ne souhaiterais pas utiliser de variable session car je n'ai besoin de cette variable que dans une seule et même page. :rougit:

Un grand merci d'avance de votre aide.