PHP购物车的实现方法

购物车用Cookie还是用Session?

用Cookie来实现购物车有一个好处,就是关闭浏览器后购物车数据还存在
但是如果用Session呢,则关闭浏览器后不能存在了。有人说可以发送SESSION ID,但是这样子的话用户就没办法自动退出了,这是一个安全隐患。

但是用Cookie数据量首先小,而且操作起来也麻烦吧。

想来想去,后来想到一个办法,就是把购物车保存到数据表中……还能用这个数据分析用户的购买行为

但是……
这个办法必须辅助一些其它特性,要不然购物车数据岂不是一大堆……

像实现Session那样去实现
首先,生成一个唯一ID,然后发送到客户端,保存一定时间
然后购物车中保存此ID值
使用register_shutdown_function();方式清理数据,并按照一定的频率(随机,并清理过期数据)

下次需要购物车数据就用那个ID值就可以得到了

为什么提出此方法,因为SESSION一般用于会员登录,而购物车希望关闭浏览器还存在,而会员关闭了就关闭了(为了安全)

作者: 深蓝色   发布时间: 2011-06-14

一般来说还是cookie配合session实现,扬长避短

作者: qxhy123   发布时间: 2011-06-14