2009-10-11 10 views
0

J'ai un vieux code php qui a fonctionné avec bonheur. J'ai besoin de faire une mise à jour et j'ai déplacé le code sur une autre machine. Tout va bien sauf que ce code malin ne fonctionne plus. Je sais qu'il doit s'agir de paramètres de configuration différents, mais je n'arrive pas à le comprendre. Register_Globals est désactivé sur les deux installations.smarty.get ne fonctionne plus

+0

Avez-vous essayez de créer un modèle avec une seule ligne '{$} smarty.get.myvar 'et ajouter append '? myvar = test_value' à l'URL? –

+0

Oui, rien n'est sorti. –

+0

Je pense que la version de Smarty peut avoir de l'importance. Surtout, si $ HTTP_GET_VARS est désactivé. –

Répondre

1

La documentation pour les variables « globales » est ici http://www.smarty.net/manual/en/language.variables.smarty.php

Assurez-vous que vous avez request_vars_order et request_use_auto_globals configuré selon vos besoins, mais la syntaxe est $smarty.get.myvar tout à fait bien.

Assurez-vous que le cas est correct et vous n'êtes pas $smarty.get.myVar ... envoyaient

1

Ceci est une mauvaise façon de travailler avec des variables de demande. Le modèle ne doit jamais extraire les variables directement à partir de variables GPC. Les variables doivent être validées par script, assainies, puis assignées à un modèle.

+0

Je sais cela, mais jusqu'à ce que j'ai un moment pour enlever l'utilisation de smarty.get, je dois m'assurer que cela fonctionne. +1 pour avertir les autres de faire la même erreur que moi. –

0

Essayez d'utiliser cette option:

{$smarty.get['myvar']} 

J'ai eu ce problème, et avec cette syntaxe, il fonctionne