【发布时间】:2014-05-08 02:46:46
【问题描述】:
我一直在努力使用$_SESSION 找到简单购物车的解决方案。
我保持非常简单,这是我现在的代码
if ( Input::isPost('add') ) {
$id = Input::get('id');
$qta = Input::post('qta');
$size = Input::post('size');
if ( !isset($_SESSION['cart']) ) {
$_SESSION['cart'] = array();
}
if ( array_key_exists($id, $_SESSION['cart']) ) {
if ( $_SESSION['cart'][$id][0] == $size ) {
$_SESSION['cart'][$id][1]+=$qta;
} else {
$_SESSION['cart'][$id] = array( $size, $qta );
}
} else {
$_SESSION['cart'][$id] = array( $size, $qta );
}
}
那么,这段代码的作用是什么?
1) 如果$_SESSION['cart'] 不存在,则创建它,否则添加新项目。 2)当您将商品添加到购物车时,您必须为该商品选择尺寸和数量。 3)如果该商品已经存在于购物车数组中,检查大小是否相同,如果是,则更新数量。这是问题所在,如果项目已经存在(检查$_SESSION['cart'][$id])但大小不同,请不要更新当前项目,而是创建一个新项目。问题是当前的一个被替换而不是添加一个,所以我只有最新的一个,而不是两个具有相同id 但不同size 的产品。
如果你能帮我解决这个问题,我将非常感激!
提前谢谢你。
【问题讨论】:
标签: php session-variables shopping-cart