我正在开发购物车应用程序。当用户选择特定产品时,会话中该产品的ID,数量和价格存储。但是当我关闭浏览器时,$ _SESSION ['cart']中的所有数据都被删除了,但我想再次访问我的网站时,应该显示最后选择的实体。我使用价格,数量和产品ID作为 -
<?
$_SESSION['cart'] = array();
$_SESSION['cart'][0]['productId'] = $pid;
$_SESSION['cart'][0]['qty'] = 1;
$_SESSION['cart'][0]['price'] = $price
?>
请告诉我即使关闭浏览器后如何在会话中保留所选值。如果你有其他方法吗?感谢。
答案 0 :(得分:1)
显然,将数据保存到cookie或数据库中! 会话持续到超时(如果有)或关闭浏览器。
答案 1 :(得分:0)
设置会话数据时,只需设置一个cookie:
setcookie('cart' , true, time()+60*60*24*7);
setcookie('productID' , $pid, time()+60*60*24*7);
setcookie('qty' , '1', time()+60*60*24*7);
setcookie('price' , $price, time()+60*60*24*7);
在全局标题内检查以查看某人是否未登录(通过会话变量存在),如果不存在,请检查该Cookie是否存在,如果存在,则通过该填充来填充您的购物车。 / p>
您当然需要发起一个新会议,但这超出了这个问题的范围。
答案 2 :(得分:0)
您可以在session.cookie_lifetime
中看到php.ini
。默认情况下为0
。我认为这就是为什么你的会话在浏览器关闭时到期。
将其设置为86400
,将会话Cookie生命周期设置为一天,然后重新检查您的网站。我认为这将解决您的问题。