代码之家  ›  专栏  ›  技术社区  ›  Patrick

在smarty-CS购物车中发布值

  •  0
  • Patrick  · 技术社区  · 10 年前

    我得到了一个cs购物车项目,我一直有一些小问题,我想我遗漏了一些东西。

    给定此(不言自明)代码:

    {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 回复  |  直到 10 年前
        1
  •  1
  •   Marcin Nabiałek    10 年前

    你不应该使用比较 $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}
    
        2
  •  0
  •   Hungryweb    10 年前

    请尝试

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