我正在购物网站上制作“In My Basket”功能。 我在productid上配对。 当你添加到购物篮时,我已经在帖子上做了篡改数据。发布的变量是 productid 。
我一直在使用This作为输出productid变量的指南。但我根本没有得到该页面的回复。
我使用的代码是{$smarty.request.productid}
我使用的TPL文件是HERE我正在使用< div class =“inbasket”>这是第69行。
似乎使用SERVER_NAME示例输出。但我需要等效的PHP $ _POST VAR。
有没有人知道我需要做什么才能通过productid并在屏幕上显示它然后我可以根据它做一个IF声明。
另外值得注意的是我使用的是Smarty的2.6.20版本
希望有人可以帮我解决这个问题。似乎smarty根本没有显示会话变量...
答案 0 :(得分:22)
使用{$ smarty.request.productid}只能获取$ _POST数组或$ _GET数组中的值。 对于会话变量,您只需使用{$ smarty.session.productid}中的“session”。聪明,同样适用于
将它放在你的tpl文件的顶部,它将弹出所有已分配的smarty vars
{debug}
想要查看会话中的内容?把它放在tpl文件的顶部
{php}
print_r($_SESSION);
{/php}
答案 1 :(得分:2)
如果你没有调试,你可以做另一种选择。
在PHP文件中,
$ smarty->分配( 'request_var',$ _ REQUEST [ 'VAR1']);
在Smarty TPL中,
使用{$ request_var}
答案 2 :(得分:0)
BTW:打印用户输入时,请始终使用“escape”修饰符。否则您的应用程序容易受到攻击(XSS等)。
{$smarty.post.productid|escape}