我目前在使用.tpl智能模板类的PHP代码块中设置cookie时遇到问题。
在.tpl课程中,我有点喜欢:
{php}
setcookie("school", "test");
{/php}
School: { $smarty.cookies.school }
然而,这不打印任何东西。我知道php setcookie调用在单独的.php文件中有效,因为我已经测试过了,但是无法让它与php代码片段在.tpl类中工作。
任何建议赞赏, d
答案 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