2012-07-18 99 views
0

我正在尝试使用盐(来自全局文件)和模板窗体中的变量创建一个哈希。我需要在模板中创建哈希。也许我错过了一些明显的东西,但是我不能将$ hash传递给php文件。变量bspid和sspid传递没有问题。 ÿ代码:从smarty变量在模板中创建一个Smarty变量

<select name="bspid"> 
{section name=all loop=$buySides} 
. . . . 
</option> 
{/section} 
</select> 
<input type="hidden" name="sspid" value="{$smarty.get.id}"> 
{ $hash=md5({$smarty.const.salt}.{$smarty.get.id}.bspid) } 

` [提交按钮]

任何帮助,将不胜感激。谢谢。

+0

对不起,为了简洁起见,我在代码中省略了下面一行: user1533381 2012-07-18 04:26:44

回答

0

通常PHP用于为数据提供smarty模板。所以你想在smarty中生成一个哈希值并传递给php?

我会强烈反对这项建议,因为

  • Smarty的内建{php}功能is deprecated了很好的理由。
  • 将模板代码与php函数混合的不良做法。
  • 可能还有更多的理由不这样做,像你的示例提示。

您的示例提示您要根据选项框中的某些选定值动态创建md5哈希。

如果是这种情况,它甚至不能正常工作,因为md5只会在加载模板时计算一次 - 而不是如果所选选项被更改。如果你想动态生成一个md5在html表单中使用,我建议添加一些javascript来归档这个。如果您已经使用JScript框架,其中大部分都是md5插件。

为了向您提供有关如何解决此问题的更多信息,可能会解释一些关于您尝试使用此功能以及为什么要从选择框中挑选某些内容的更多信息。