e コマース Web サイトでセッション変数を使用しようとしています。アイデアは、セッションがまだ開始されていない場合にセッションを開始することです。既にセッションがある場合は、追加された新しいアイテムがセッション配列に既に存在するかどうかを確認したいと思います。もしそうなら、私は量を増やすだけです.そうでない場合は、現在のセッション配列に追加します.
問題は、追加が機能しないことです。最初と 2 番目の配列を取得しますが、3 番目の配列を追加する代わりに、[カートに追加] ボタンがクリックされるたびに 2 番目の配列が上書きされ続けます。これが私のコードです
<?php
if(isset($_SESSION['cart'])){
$newItems = '';
$cart = $_SESSION['cart'];
foreach($cart as $item => $value){
//$size, $colour, $quantity and $price are the current $_GET values
if($prodId == $value['prodId'] && $value['colour'] == $colour && $value['size'] == $size && $value['price'] == $price){
$value['qty']+= $quantity;
}else{
$newItems = array('prodId'=>$prodId,'price'=>$price,'qty'=>$quantity,'colour'=>$colour,'size'=>$size);
$cart []= $newItems;
}
}
}else{
$_SESSION['cart'] []= array('prodId'=>$prodId,'price'=>$price,'qty'=>$quantity,'colour'=>$colour,'size'=>$size);
}
?>
どこで問題が発生したのか本当にわかりません。私は多次元配列で運が悪かったのです。どんな助けでも大歓迎です。