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

dar*_*eck 1 php smarty setcookie

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

在.tpl类我有一些喜欢:

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

School: { $smarty.cookies.school }
Run Code Online (Sandbox Code Playgroud)

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

任何建议得到赞赏,D

Pet*_*ter 5

{php}
    setcookie("school", "test");
    $_COOKIE['school'] = 'test';
{/php}
Run Code Online (Sandbox Code Playgroud)

这是因为$ _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