如何以html / php格式动态访问数组表单位置?

时间:2011-06-10 22:26:16

标签: php html smarty

我正在学习php和html使用smarty来帮助它。 我正在尝试使用购物车图像构建一个非常简单的商店类似列表,当它被点击时,它应该通过表单返回我想要的信息,但是我没有得到正确的项目索引。 ...

这是相对于tlp内部循环的代码(它是smarty内部使用的HTML):

{section name=i loop=$homeList}
     <div class="homemenu" align="right">
        <table class="menhome" border="0">
            <tr>
            <td width="102"><img src="{$homeList[i].img}"/></td>
            <td width="150">{$homeList[i].Nome} </td>
            <td width="350">{$homeList[i].Descricao}</td>
            <td width="80">{$homeList[i].Preco} €</td>
            <td width="80">{$homeList[i].Disponiblidade}</td>
            <td><form action="updatecart.php"  method="POST">
                <input type="hidden" name="usr[]" value="abobora">
                <input type="hidden" name="iditem[]" value="{$homeList[i].IDItem}">
                <input type="hidden" name="qta" value="1">
                <input type="hidden" name="index" value="1">
                <input type="image" name="submit" src="../images/carro.png" width="52" height="52"> 
            </td>
            </tr>
        </table>
    </div>
{/section}

这是相对于“实验性”php更新的代码:

require_once("functions.php");
var_dump($_POST);

这是一个示例var_dump输出:

array
'usr' => 
    array
      0 => string 'abobora' (length=7)
      1 => string 'abobora' (length=7)
      2 => string 'abobora' (length=7)
      3 => string 'abobora' (length=7)
      4 => string 'abobora' (length=7)
  'iditem' => 
    array
      0 => string 'it10' (length=4)
      1 => string 'it13' (length=4)
      2 => string 'it2' (length=3)
      3 => string 'it20' (length=4)
      4 => string 'it21' (length=4)
  'qta' => string '1' (length=1)
  'index' => string '1' (length=1)
  'submit_x' => string '22' (length=2)
  'submit_y' => string '27' (length=2)

问题是:如何告诉表单单个按钮对数组具有单数索引并获取对数组内正确信息的访问权?

PS:索引=“1”这里只是一个实验值,我想要的是相对于索引的信息

PSS:对不起的输出格式感到抱歉,但有时候我根本不知道代码标签的工作方式....

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了这个问题,但您是否正在寻找类似的内容:

<input type="hidden" name="usr[{index_in_array}]" value="abobora">
<input type="hidden" name="iditem[{index_in_array}]" value="{$homeList[i].IDItem}">

编辑:您没有正确关闭<form>,这就是您无法依赖发送的索引值的原因:

        <td><form action="updatecart.php"  method="POST">
            <input type="hidden" name="usr[]" value="abobora">
            <input type="hidden" name="iditem[]" value="{$homeList[i].IDItem}">
            <input type="hidden" name="qta" value="1">
            <input type="hidden" name="index" value="1">
            <input type="image" name="submit" src="../images/carro.png" width="52" height="52">
          </form>            // added
        </td>