将数据插入数据库后,我将设置一个会话,然后将页面重定向到另一个页面, 在另一个页面上,如果会话设置为smarty,我将显示一条消息,一切正常。
{if $smarty.session.insert===true}
Thanks
{/if}
现在,如何在打印信息后取消设置会话?
答案 0 :(得分:2)
你不应该在模板中这样做,而smarty对此不起作用。 但是,如果你真的必须这样做,我看到的唯一方法可能是:
{php}
unset($_SESSION['insert']);
{/php}
你在{php}标签之间放置的任何内容都将由smarty作为常规php脚本运行。
答案 1 :(得分:0)
Smarty是一个模板引擎。应该不来处理会话变量。您必须在Smarty之外的PHP脚本中执行unset($_SESSION['...'])
。
答案 2 :(得分:0)
你真的不应该从模板那样做,在PHP中这样做。如下所示。
unset($_SESSION['session_var_name']);
如果你真的想要聪明地做,你试过{$smarty.session.message|unset}
我不知道它是否有效,但可能值得研究。
答案 3 :(得分:0)
在显示智能模板的php文件中,在显示功能之后取消设置。
if(isset($_POST['postdata'])) {
$_SESSION['insert'] = 'success';
}
$smarty->display('test.html');
unset($_SESSION['insert']);
在模板文件中
{if isset($smarty.session.insert)}
{$smarty.session.insert}
{/if}