public function writeAllItem($o_id, $o_sn, $u_id) { // 获得购物车实例 $cart = ToolsShoppingCart::GetCart(); $items = $cart->getItems(); foreach ($items as $k => $v) { // 判断是否写入数据库成功 成功就从购物车中删除该条商品 在调用出检查$cart是否为空即可 if ($this->writeOneItem($o_id, $o_sn, $u_id, $k, $v) == 1) { // 从购物车中删除成功插入的商品 $cart->delItem($k); } } }
// 登录成功 更新用户信息 $ip = get_client_ip(); $time = time(); $_SESSION['name'] = $res['username']; $res = $mu->update(array('logintime' => $time, 'loginip' => $ip), "id=" . $res['id']); // 添加该用户的购物车内容 if (is_file(ROOT . 'data/shoppingCart/' . $_SESSION['name'])) { $_SESSION['cart_temp'] = array(); // 判断此时(未登录)购物里是否有内容 if (!$cart->isEmpty()) { // 不为空 $_SESSION['cart_temp'] = $cart->getItems(); } // 清空购物车 $cart->clear(); // 添加该用户的购物车内容 执行完这一句之后 $cart仍然为空 重新申请实例时$cart才不为空 $_SESSION['cart'] = unserialize(file_get_contents(ROOT . 'data/shoppingCart/' . $_SESSION['name'])); $cart = ToolsShoppingCart::GetCart(); // 同步$cart 和 $_SESSION_['cart'] 即$cart = $_SESSION['cart'] // 将原来购物车中的内容添加到新购物车中 if (isset($_SESSION['cart_temp'])) { $cart->cartMerge($_SESSION['cart_temp']); unset($_SESSION['cart_temp']); } //for debug // print_r($cart->getItems()); // print_r($_SESSION['cart']); // print_r($_SESSION['cart_temp']); } echo "0"; return;