2011-06-19 43 views
-1

私はDooPHPを使用しています。私はフォームのセキュリティトークンを生成して、csrf攻撃から保護しています。スマート変数にトークンを割り当てているので、ソースに表示されていることがわかります。利用可能です。私がフォームを提出すると、次のようなエラーメッセージが表示されます:Smartyの未定義変数

Undefined variable: secToken 
See file C:\wamp\www\korysdoo\protected\class\smarty\sysplugins\smarty_internal_data.php 
Error on line 291 $x = $$_variable; 

何か問題がありますか? secTokenの値が適切な関数にポストされていることがわかります。

+0

詳細情報は今後さらに役立ちます。使用しないエラーメッセージ(PHPの変数を割り当てる、テンプレートファイルの変数にアクセスするなど)は、人々が何が間違っているのかを知ることを困難にします。 –

答えて

-2

問題を解決しました。それは他のどこかに横たわっていましたが。ログインが失敗したときは(別の理由で)、セキュリティトークンを再度割り当てずに、同じログインフォームテンプレートを表示していました。

1

smartyがそれを利用するには、register that variable with smartyが必要です。

フォームを表示しているテンプレートでは実行したことがありますが、投稿結果を表示するテンプレートではそうではありません。結果テンプレートのためにそれを加えてください。

+0

私は、提出書式でそれを得るために変数を割り当てています。しかし、基本的に "Hello、World"テンプレートなので、結果テンプレートに含めるのは意味がありません。どこに置く? – donkapone