我正在构建一种php商店,允许用户输入各种产品的金额,然后表单将处理订单。没有付款处理等。我正在努力做的是将每个产品添加到每个金额中,以作为 $_POST 变量发送到订单。 目前我订购的商品是标准表格:
<input type="text" id="value" name="ordered-items[]" />
我以为我可以将产品 ID 添加为隐藏变量,但这只会为每个产品添加它。
<input type="hidden" id="value" name="products[<?php the_id(); ?>]" />
我怎样才能将产品与订单数量结合起来,然后将其发送到订单进行处理,这部分我可以自己做。
提前致谢
您可以根据
产品的 ID 命名产品数量,如下所示:
<input type="text" name="item[<?php the_id(); ?>]" />
然后,您可以使用以下方法访问服务器端的产品数量:
foreach($_POST as $index => $value){
// $index is product id and $value is product quantity
}
为什么不把数量放在一个单独的输入字段中。如果是普通文本字段,访问者甚至可以更改数量:
<input type="text" id="item1" name="ordered-items[]" /><input type="text" id="qty1" name="quantity[]" />
<br>
<input type="text" id="item2" name="ordered-items[]" /><input type="text" id="qty2" name="quantity[]" />
<br>
<input type="text" id="item3" name="ordered-items[]" /><input type="text" id="qty3" name="quantity[]" />
在 php 中,您可以像这样处理数据:
<?php
$items = $_POST['ordered-items'];
$quantities = $_POST['quantity'];
for($i = 0; $i < count($items); $i++) {
echo $items[$i] . ' has quantity ' . $quantities[$i];
}