0

(グローバル ファイルの) ソルトとテンプレート フォームの変数を使用してハッシュを作成しようとしています。テンプレートでハッシュを作成する必要があります。おそらく明らかな何かが欠けていますが、$hash を php ファイルに渡すことができません。変数 bspid と sspid は問題なく渡されます。Y コード:

<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) }

` [送信ボタン]

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

0

通常、PHP はスマートなテンプレートにデータを供給するために使用されます。それで、smarty でハッシュ値を生成し、それを php に渡したいですか?

これに対して強くお勧めします。

  • Smarty の組み込み{php}関数は、正当な理由により廃止されました。
  • テンプレートコードとphp関数を混同するのは悪い習慣です。
  • あなたの例が示唆するように、それをしない理由はおそらくもっとたくさんあります。

あなたの例は、オプションボックスで選択した特定の値に応じて、md5 ハッシュを動的に作成することを示唆しています。

この場合、md5 はテンプレートのロード中に 1 回しか計算されず、選択したオプションが変更された場合には計算されないため、適切に機能しません。HTML フォーム内で使用するために動的に md5 を生成する場合は、これをアーカイブするためのJavaScriptを追加することをお勧めします。すでに JScript フレームワークを使用している場合、それらのほとんどは md5 プラグインです。

この問題に取り組む方法についてさらに情報を提供するために、これでアーカイブしようとしているものと、選択ボックスから何かをハッシュしたい理由についてもう少し説明してください。

于 2012-07-18T07:10:16.523 に答える