Codeigniter ショッピング カートを作成しています。カートの詳細ページには、ユーザーが製品に必要な数量を入力できるフォーム入力フィールドと、更新機能に情報を投稿するための送信ボタンがあります。
カートに商品が 1 つしかない場合、数量を更新するとすべて正常に機能します。ただし、複数のアイテムがある場合、アイテムの数量を変更して [送信] をクリックすると、モデル内の次のコード (具体的には配列内の 2 行) で「未定義のオフセット 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);
}
}
これは、上記が参照する View コードです。
<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');
}
なぜこれが起こっているのか誰でも説明できますか?
どうもありがとう、
マット