2012-07-18 164 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插件。

爲了向您提供有關如何解決此問題的更多信息,可能會解釋一些關於您嘗試使用此功能以及爲什麼要從選擇框中挑選某些內容的更多信息。