在此代码删除案例中执行比会话更多和更多时间获取负值。在会话获取仅正值的代码中发生了哪种类型的更改。
<?php
session_start();
$d1=$_POST['d1'];
$action=$_POST['str1'];
$product_id = $_POST['productid'];
switch($action)
{
case "Add":
$_SESSION['cart'][$product_id] = $d1 + (isset($_SESSION['cart'][$product_id]) ?$_SESSION['cart'][$product_id] : 0);
break;
case "Remove":
$_SESSION['cart'][$product_id]=(isset($_SESSION['cart'][$product_id]) ? $_SESSION['cart'][$product_id] : 0)- $d1;
if($_SESSION['cart'][$product_id] == 0)
unset($_SESSION['cart'][$product_id]);
break;
}
?>
答案 0 :(得分:0)
如果是“删除”:部分。
首先计算项目列表并放置if else检查是否计数&gt; 0然后执行删除操作
跳过删除。
答案 1 :(得分:0)
使用<=
代替==
以避免负值
if($_SESSION['cart'][$product_id] <= 0)
此外,您还错过了“添加”案例中的break;
声明