【发布时间】:2018-02-17 00:43:44
【问题描述】:
我在 cookie 中保存了一个购物车数组,以将其发送到购物车页面。每当我从另一个产品转到一个页面并单击添加到购物车时,它不会将其添加到数组中,但似乎会覆盖它。
$uri = $_SERVER['REQUEST_URI'];
$pin = explode('/', $uri);
$id = $pin[3];
$product = $model->selectById($id, 'carpet');
$product = $product->fetch(PDO::FETCH_ASSOC);
$site_url = site_url();
if(!$product){
header("Location: $site_url./404");
}
if(isset($_POST['add'])){
$cart = [];
$cart[$product['id']] = [];
$cart[$product['id']]['product_name'] = $product['name'];
setcookie('cart', serialize($cart), time()+3600);
$cart = unserialize($_COOKIE['cart']);
dd($cart);
}
【问题讨论】:
-
嗯,是的,因为这就是你告诉它要做的事情。您将
$cart定义为一个空数组,然后将产品添加到该空数组并覆盖cookie 中的任何内容。您需要从 cookie 中检索数组并将产品添加到 that 数组中。