【发布时间】:2015-08-19 21:08:35
【问题描述】:
我有一个用于购物车的会话数组,但问题是当我尝试使用 UNSET 命令删除所选项目时,它似乎不起作用。有人请帮助我。我喜欢根据产品 ID 和尺寸删除该项目,因为我的购物车中的某些其他项目可能具有相同的产品 ID 和不同的尺寸。下面是我的代码:
我的购物车会话结构:
$_SESSION['cart_items'][$id.'-'.$size] = array('id'=> $id,'code' => $code, 'Quantity' => $quantity, 'Size' => $size);
删除项目的编码:
$size = $_GET['Product_Size'];
$id = $_GET['Product_ID'];
echo $id.$size;
if(!isset($_SESSION['cart_items'])){
echo "<script type='text/javascript'>alert('Shopping list is empty!');
window.history.back();</script>";
}
if (isset($_SESSION['cart_items'])) {
//print_r($_SESSION['cart_items']);
foreach ($_SESSION['cart_items'] as $key => $value) {
if ($key == $id.'-'.$size) {
unset($_SESSION['cart_items'][$key]);
//print_r($_SESSION['cart_items']);
echo "<script type='text/javascript'>alert('Successful remove!');
window.history.back();</script>";
break;
}
else
{
echo "<script type='text/javascript'>alert('Not found!');
window.history.back();</script>";
}
}
}
【问题讨论】:
-
怎么不工作了?你能指出输出是什么,你实际上期望做什么?
-
输出说“成功删除”,就像我放置的回声一样。但是当回到购物车页面时,我之前删除的项目仍然存在。我已经为我的购物车做 COUNT 和 PRINT_R 来检查它。删除所选项目之前的数量结果仍然相同。