如何用php在smarty模板中设置Cookie?

时间:2011-11-19 00:17:48

标签: php smarty setcookie

我目前在使用.tpl智能模板类的PHP代码块中设置cookie时遇到问题。

在.tpl课程中,我有点喜欢:

{php}
    setcookie("school", "test");
{/php}

School: { $smarty.cookies.school }

然而,这不打印任何东西。我知道php setcookie调用在单独的.php文件中有效,因为我已经测试过了,但是无法让它与php代码片段在.tpl类中工作。

任何建议赞赏, d

1 个答案:

答案 0 :(得分:5)

{php}
    setcookie("school", "test");
    $_COOKIE['school'] = 'test';
{/php}

这是因为$ _COOKIE superglobal仅在页面刷新时更新,而不是在使用setcookie()后更新

请确保您使用的是SmartyBC.class.php而不是Smarty.class.php,因为{php}{/php}无法使用Smarty.class.php。

另请记住将$php_handling属性设置为SMARTY_PHP_ALLOW。

更多信息http://www.smarty.net/docsv2/en/variable.php.handling.tpl