【问题标题】:undefined variable in SmartySmarty 中的未定义变量
【发布时间】:2011-06-19 14:42:55
【问题描述】:

我正在使用 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 的值正在发布到适当的函数。

【问题讨论】:

  • 更多信息将在未来有所帮助。没有使用的错误消息(在 php 中分配变量,访问模板文件中的变量等)使人们很难知道可能出了什么问题。

标签: php variables frameworks smarty


【解决方案1】:

您需要先register that variable with smarty,然后 smarty 才能使用它。

您已经为显示表单的模板完成了该操作,但可能不是为您显示提交结果的模板。然后将其添加到结果模板中。

【讨论】:

  • 我正在分配变量以在提交表单中获取它。但对我来说将它包含在结果模板中没有意义,因为它基本上是一个“Hello, World”模板,没有别的。我会把它放在哪里?
【解决方案2】:

问题解决了。虽然它躺在别的地方。当登录失败时(由于不同的原因),我显示的是相同的登录表单模板,而没有再次分配安全令牌。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2011-03-25
    • 2011-01-30
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 2014-08-25
    相关资源
    最近更新 更多