将php添加到.tpl以检查cookie值

时间:2013-01-21 12:26:56

标签: php cookies smarty echo

我试图将php脚本添加到.tpl文件中,以检查是否已设置Cookie:

<?php if (isset($_COOKIE['IA'])) echo "?campaign=333"; if (isset($_COOKIE['IA']) && isset($_COOKIE['Ptag'])) echo "&p=" . $_COOKIE['Ptag'] ;?>

我已尝试将php包含在{php}代码{/ php}和{php} /file/function.php {/ php}中。 我也试过代码。

然而,似乎没有任何效果。任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

使用smarty预定义变量: http://www.smarty.net/docsv2/en/language.variables.smarty.tpl

例如:

{if $smarty.cookies.IA}?campaign=333{/if}{if $smarty.cookies.IA && $smarty.cookies.Ptag}&p={$smarty.cookies.Ptag}{/id}

这揭示了一些安全问题,例如XSS,所以你最好从模板中验证这个参数并仅将有效值传递给模板 - 但总的来说,我提到的方式是达到$_COOKIE的方式全球