我正在构建一个 Codeigniter 购物车。在购物车详细信息页面上,我有一个表单输入字段,允许用户输入产品所需的数量,以及一个提交按钮,用于将信息发布到更新功能。
当购物车中只有一件商品时,更新数量时,一切正常。但是,当有多个项目时,更改项目的数量并单击提交会导致模型中以下代码(特别是数组中的两行)出现 'Undefined Offset 1: 错误:
function validate_update_cart()
{
$total = $this->cart->total_items();
$item = $this->input->post('rowid');
$qty = $this->input->post('qty');
for($i=0;$i < $total;$i++)
{
$data = array(
'rowid' => $item[$i],
'qty' => $qty[$i]
);
$this->cart->update($data);
}
}
这是上面提到的视图代码:
<form action="<?php echo base_url(); ?>home/update" method="post">
<div><input type="hidden" name="rowid[]" value="<?php echo $item['rowid']; ?>"/></div>
<div><input type="text" name="qty[]" value="<?php echo $item['qty']; ?>" maxlength="2" class="chg-qty"/></div>
<div><input type="submit" value="update" class="update-quantity"/></div>
</form>
这是控制器:
function update()
{
$this->products_model->validate_update_cart();
redirect('cart');
}
请任何人解释为什么会这样?
非常感谢,
马特