Php Smarty-获取发布/会话变量

Php Smarty-获取发布/会话变量,php,smarty,Php,Smarty,我正在一个购物网站上开发“我的篮子”功能。 我正在productid上配对。 我已经做了一个篡改后的数据,当你添加到篮子。正在发布的变量是productid 我一直在使用productid变量作为输出的指南。但我根本没有从网页上得到任何回应 我使用的代码是{$smarty.request.productid} 我正在使用的TPL文件是我正在处理的第69行 它似乎与服务器名称示例一起输出。但我需要相当于PHP$的POST VAR 有没有人知道我需要做些什么来浏览productid并在屏幕上显示它,

我正在一个购物网站上开发“我的篮子”功能。 我正在productid上配对。 我已经做了一个篡改后的数据,当你添加到篮子。正在发布的变量是productid

我一直在使用productid变量作为输出的指南。但我根本没有从网页上得到任何回应

我使用的代码是
{$smarty.request.productid}

我正在使用的TPL文件是我正在处理的
第69行

它似乎与服务器名称示例一起输出。但我需要相当于PHP$的POST VAR

有没有人知道我需要做些什么来浏览productid并在屏幕上显示它,然后我可以基于此执行IF语句

另外值得注意的是,我使用的是Smarty的2.6.20版


希望有人能帮我解决这个问题。smarty似乎根本没有显示会话变量…

使用{$smarty.request.productid}只会获取$\u POST数组或$\u get数组中的值。 对于会话变量,只需使用{$smarty.session.productid}中的“session”。对于smarty,这同样适用于

  • $\u POST--{$smarty.POST.productid}
  • $\u GET--{$smarty.GET.productid}
  • $\u请求--{$smarty.REQUEST.productid}(请求将从$\u POST和$\u get获取变量)
  • $\会话--{$smarty.SESSION.productid}
将此文件放在tpl文件的顶部,它将与所有分配的smarty VAR一起弹出

{debug}
要查看会话中的内容吗?把这个放在你的tpl文件的顶部

{php}
print_r($_SESSION);
{/php}

如果调试失败,您还有其他选择

在PHP文件中

$smarty->assign('request_var',$_request['var1'])

在Smarty TPL中


使用{$request\u var}

顺便说一句:打印用户输入时,始终使用“escape”修饰符。否则,您的应用程序易受攻击(XSS等)


{$smarty.post.productid | escape}

您是否也尝试过
{$smarty.post.productid}
?您是否正在某处覆盖请求?你试过
var\u dump()
请求['productid']?我试过这篇文章,是的。刚刚尝试了var_dump($_请求['productid'],输出“NULL”在我的屏幕上。然后它就不聪明了。如果没有剩下的代码,我只能猜测你要么覆盖了$\u请求或$\u POST数组,要么根本就不发布productid。我只是在想是否值得把TPL代码放在某个地方。这里是:我正在在线工作69@StuBlackett大家好,{debug}正在显示“未包含模板”和{php}print_r($_SESSION);{/php}也没有显示。请参见此屏幕截图:我开始认为这是一个X-Cart设置问题。