php购物车会话ID删除

用户名

如果会话购物车项目多于1个,则不起作用..但只有一个工作。这会发生什么

我把所有代码都放在了会话中。检查这种情况下会发生什么...

这是我的PHP代码此链接 ?action=remove&id=<value>

function checkCartForItem($addItem, $cartItems) {
     if (is_array($cartItems)){
          foreach($cartItems as $key => $item) {
              if($item['id'] === $addItem)
                  return $key;
          }
     }
     return false;
}

if (!empty($_GET['qty'])) {

    $qty = $_GET['qty'];
}

//Store it in a Array
$ITEM = array(
//Item name     
'id' => $_POST['id']    

);

$addItem = $_GET['id'];


//check
if(!empty($_GET["action"])) {
switch($_GET["action"]) {
    case "add":
        if(!empty($_GET["qty"])) {

            $productByCode = $db_handle->runQuery("SELECT * FROM product WHERE id='" . $_GET["id"] . "'");
            $itemArray = array($productByCode[0]["id"]=>array('name'=>$productByCode[0]["product_name"], 'id'=>$productByCode[0]["id"], 'quantity'=>$qty, 'price'=>$productByCode[0]["new_price"]));

            $itemExists = checkCartForItem($addItem, $_SESSION['cart_item']); 

            if ($itemExists !== false){  
                $_SESSION['cart_item'][$itemExists]['quantity'] = $qty ; 
            } else { 

                if(!empty($_SESSION["cart_item"])) {

                    if(in_array($productByCode[0]["id"],$_SESSION["cart_item"])) {
                        foreach($_SESSION["cart_item"] as $k => $v) {
                                if($productByCode[0]["id"] == $k)
                                    $_SESSION["cart_item"][$k]["quantity"] = $qty;
                        }
                    } else {
                        $_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray);
                    }
                } else {
                    $_SESSION["cart_item"] = $itemArray;
                }   
            } 
        }
    break;
    case "remove":
        if(!empty($_SESSION["cart_item"])) {
            foreach($_SESSION["cart_item"] as $k => $v) {
                    if($_GET["id"] == $k)
                        unset($_SESSION["cart_item"][$k]);      
                    if(empty($_SESSION["cart_item"]))
                        unset($_SESSION["cart_item"]);
            }
        }

    break;
    case "empty":
        unset($_SESSION["cart_item"]);
    break;  
}
}

数组(print_r($_SESSION["cart_item"]);

Array ( [0] => Array ( [name] => Sadfsafsadf [id] => 11 [quantity] => 1 [price] => safsafsa ) [1] => Array ( [name] => TP-LINK 4 Port Wireless Dual Band N600 [id] => 13 [quantity] => 1 [price] => 15980 ) )
里根·加兰特(Reagan Gallant)

您在这条线上犯了一个错误。if($ _ GET [“ id”] == [$ k])

 case "remove":
        if(!empty($_SESSION["cart_item"])) {
            foreach($_SESSION["cart_item"] as $k => $v) {
                    if($_GET["id"] == $_SESSION["cart_item"][$k]['id'])
                        unset($_SESSION["cart_item"][$k]);      
                    if(empty($_SESSION["cart_item"]))
                        unset($_SESSION["cart_item"]);
            }
        }

    break;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

购物车和会话ID

来自分类Dev

PHP购物车会话问题

来自分类Dev

php中购物车的会话数组

来自分类Dev

如何从用作会话购物车的数组中删除商品ID

来自分类Dev

PHP购物车

来自分类Dev

PHP购物车

来自分类Dev

购物车中的会话

来自分类Dev

从购物车会话中删除商品。拉拉韦尔

来自分类Dev

从购物车会话中删除商品。拉拉韦尔

来自分类Dev

PHP会话总和购物车数量甚至不同的产品ID

来自分类Dev

PHP添加到购物车会话错误

来自分类Dev

php购物车删除一个项目

来自分类Dev

PHP购物车数组

来自分类Dev

简单的PHP购物车

来自分类Dev

使用PHP的购物车

来自分类Dev

PHP Sessions购物车

来自分类Dev

购物车的会话/ foreach问题

来自分类Dev

将会话用作临时购物车

来自分类Dev

更新产品购物车会话

来自分类Dev

购物车的会话/ foreach问题

来自分类Dev

全局访问购物车会话值

来自分类Dev

如何使用PHP生成唯一的行ID以唯一标识购物车中的购物车项目?

来自分类Dev

无法删除购物车中具有会话数组的项目

来自分类Dev

如何从WooCommerce会话中删除特定类别的购物车项目

来自分类Dev

无法删除购物车中具有会话数组的项目

来自分类Dev

如何在会话结束前删除购物车和 LineItems?

来自分类Dev

OpenCart从购物车中删除选项

来自分类Dev

在Woocommerce中删除购物车小计

来自分类Dev

OpenCart从购物车中删除选项