3

データベースにデータを挿入した後、セッションを設定し、ページを別のページにリダイレクトします。セッションが smarty に設定されている場合、別のページにメッセージが表示されます。すべて問題ありません。

{if $smarty.session.insert===true}
      Thanks
{/if}

メッセージを印刷した後、どうすればセッションの設定を解除できますか?

4

4 に答える 4

2

テンプレートでそれを行うべきではなく、smarty はこれに対して機能しません。ただし、本当にそれをしなければならない場合、私が見る唯一の方法は次のとおりです。

{php}
    unset($_SESSION['insert']);
{/php}

{php} タグの間に入れるものはすべて、通常の php スクリプトとして smarty によって実行されます。

于 2014-01-23T11:21:41.113 に答える
0

Smartyはテンプレートエンジンです。セッション変数を処理することは想定されていません。unset($_SESSION['...'])Smartyの外部で、PHPスクリプトで実行する必要があります。

于 2013-01-21T17:03:55.690 に答える
0

smarty テンプレートを表示している php ファイルで、display 関数の後に設定を解除します。

if(isset($_POST['postdata'])) {
  $_SESSION['insert'] = 'success';
}

$smarty->display('test.html');
unset($_SESSION['insert']);

テンプレートファイルで

{if isset($smarty.session.insert)}
  {$smarty.session.insert}
{/if}
于 2013-07-30T06:12:41.393 に答える
0

テンプレートからそれを行うべきではありません。以下のように PHP で行います。

unset($_SESSION['session_var_name']);

本当にスマートにやりたいのなら、試してみました{$smarty.session.message|unset} か?うまくいくかどうかはわかりませんが、検討する価値があるかもしれません。

于 2013-01-21T17:11:44.470 に答える