如何设置一天的购物车

时间:2013-04-10 06:32:21

标签: php

我正在开发购物车应用程序。当用户选择特定产品时,会话中该产品的ID,数量和价格存储。但是当我关闭浏览器时,$ _SESSION ['cart']中的所有数据都被删除了,但我想再次访问我的网站时,应该显示最后选择的实体。我使用价格,数量和产品ID作为 -

<?
$_SESSION['cart'] = array();
$_SESSION['cart'][0]['productId'] = $pid;
$_SESSION['cart'][0]['qty'] = 1;
$_SESSION['cart'][0]['price'] = $price
?>

请告诉我即使关闭浏览器后如何在会话中保留所选值。如果你有其他方法吗?感谢。

3 个答案:

答案 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生命周期设置为一天,然后重新检查您的网站。我认为这将解决您的问题。

Have a look here

php.net article