在smarty中发布值 - CS-cart

时间:2014-07-29 08:07:18

标签: php smarty cs-cart

我被交给了一个cs-cart项目而且我遇到了一些小问题,我想我错过了什么。

给出这个(自解释)代码:

{if $smarty.get.mypin ==""}
    OK
    {assign var="my_pin_q" value=$smarty.post.mypin}

{else}
    NOT OK
    {assign var="my_pin_q" value=$smarty.get.mypin}
{/if}

所以我正在检查是否存在get参数,如果我将它保存到本地变量,否则我将保存.post变量(而不是get)。

接下来是:

<input type="hidden" name="mypin" value = "{$my_pin_q}">

(在一种形式的课程中)
手头的问题是由于某种原因,.post.mypin总是空的,即使它已经正确地通过表单。(我检查了POST请求)。

这是正常的吗? smarty是否将请求变量存储在其他地方?

2 个答案:

答案 0 :(得分:1)

您不应使用比较$smarty.get.mypin ==""。您应该使用isset代替。下面的代码应该适合你(注意if和else里面的块已经改变了):

{if isset($smarty.get.mypin)}  
    {assign var="my_pin_q" value=$smarty.get.mypin}
{else}    
    {assign var="my_pin_q" value=$smarty.post.mypin}
{/if}

Value of PIN: {$my_pin_q}

答案 1 :(得分:0)

请尝试

{assign var="my_pin_q" value=$smarty.request.mypin}