2011-06-19 7 views
-1

J'utilise DooPHP et je génère un jeton de sécurité pour mon formulaire afin de me protéger contre les attaques CSF. J'assigne le jeton à une variable smarty et je peux voir qu'il est affiché dans la source - donc il est disponible. Lorsque je soumets le formulaire, une erreur se produit:Variable non définie dans Smarty

Une idée de ce qui ne va pas? Je peux voir que la valeur de secToken est affectée à une fonction appropriée.

+0

Plus d'informations seraient utiles à l'avenir. Un message d'erreur sans utilisation (assignation des variables en php, accès aux variables dans le fichier modèle, etc.) fait qu'il est difficile pour les gens de savoir ce qui pourrait être faux. –

Répondre

-2

Problème résolu. Bien qu'il se trouvait ailleurs. Lorsque la connexion a échoué (ce qui était le cas, pour différentes raisons), j'affichais le même modèle de formulaire de connexion sans attribuer de nouveau le jeton de sécurité.

1

Vous devez register that variable with smarty avant de pouvoir utiliser smarty.

Vous l'avez fait pour le modèle qui affiche le formulaire, mais probablement pas pour le modèle dans lequel vous affichez le résultat de la soumission. Ajoutez-le aussi pour le modèle de résultat.

+0

J'attribue la variable pour l'obtenir dans le formulaire de soumission. Mais cela n'a aucun sens de l'inclure dans le modèle de résultat, car il s'agit essentiellement d'un modèle "Hello, World" et rien d'autre. Où pourrais-je le mettre? – donkapone