-2

我有一个表格......我必须为表格上的每个产品的字段使用相同的名称。

PartNo、Item 和 Price,如果我想用一个订单按钮添加多个项目,这不能改变。下面的示例代码适用于使用 Cart32 的购物车软件将多个商品添加到购物车。我想知道他们如何为许多项目使用像 PartNo 这样的相同名称,并且能够检索该字段的所有值。

我尝试编写自己的页面来接收输入,但在我的一生中,我无法为任何重复字段(如 PartNo、Qty 和 Price)获得多个项目。我已经尝试过 $_REQUEST、$_POST 和 $_GET,但我只得到了最后一个值,所以这不是案例问题。

这是一个精简的例子。

<FORM name ='x' METHOD="post" ACTION="https://www.cart32.com/cart32.ex…
<!-- item 1 -->
<div id'=x'>
#1 | desc1 | $27.99 Qty: <input type='text' size='3' name='Qty' value='0'>
<input type=hidden name='PartNo' value='11'>
<input type=hidden name='Item' value='product1'>
<input type=hidden name='Price' value='27.99'>
</div>


<!-- item 2 -->
<div id'=x'>
#2 | desc2 | $7.99 Qty: <input type='text' size='3' name='Qty' value='0'>
<input type=hidden name='PartNo' value='11'>
<input type=hidden name='Item' value='product1'>
<input type=hidden name='Price' value='7.99'>
</div>

<div><input type='submit' value='Order'></div>
</form>
4

1 回答 1

2

如果将 [] 附加到表单字段名称,PHP 将获取这些字段并将它们转换为数组,例如

<input type="text" name="field[]" value="first" />
<input type="text" name="field[]" value="second" />
<input type="text" name="field[]" value="third" />

将产生以下 $_POST 结构:

$_POST = array(
    'field' => array(
         0 => 'first',
         1 => 'second',
         2 => 'third',
    )
);

另一种方法是为每个字段名称附加递增的数字,因为您为每个新块复制现有字段集。这提供了块之间的良好分隔,并允许您保证相关字段具有相同的数字标签,但它确实使处理复杂化。

向文件php表单提交添加多个输入

于 2012-07-11T23:31:20.703 回答