2011-01-14 139 views
3

当我们写购物车时,我们是否应该使用会话ID在数据库中保存购物车信息,还是只保存会话变量?为什么?Php购物车

回答

0

将其存储在数据库中。这并不难,它会给你最好的结果。此外,它可以让你追踪人们放入篮子但不购买的物品。

1

如果用户不能保存他的购物车,会话ID将会很好,只要记住如果他重新启动浏览器就可以改变它。

如果您希望用户能够存储和检索购物车,则不能依赖会话ID。在这种情况下,您需要一个用户帐户,然后将购物车绑定到用户ID。


[编辑]所有的
首先,是的,我想你应该在车存放在一个数据库。 只要客户没有用户帐号,唯一的方法就是通过会话ID或在客户端上写入识别他/她的cookie。

但最终,根据您想购买的购物车的可靠程度,您不能相信会话ID,因为如果客户重新启动浏览器它可能会更改。写入cookie并不可靠,因为客户可能已经禁用了Cookie。会话变量当然正在等待会话ID。

如果你不想100%可靠的购物车,你需要让顾客登录,这样你可以使用用户ID而不是会话ID。

+0

我的观点是登录前和结帐前。 – wailynnoo 2011-01-14 05:04:48

1

其实这取决于你想用它做什么。

如果你想要一个登录用户可以在2天后(或其他)登录他的购物车,你应该把它放在db中。但是你不能保存一个没有登录的用户手推车(或者只保存它来跟踪物品)。所以你必须每次检查用户是否登录。

好处是,如果用户使用其他浏览器或电脑,他仍然会有购物车。

对于数据库,它不能改变任何东西,因为通常你会有一个历史记录(如果用户购买产品),所以你只有一个布尔型的历史记录,并且每个月都有一个清除历史的cron如果你需要的话)。

1

个人而言,在用户会话中存储购物车并不存在实际问题,但显然用户在浏览器关闭后将失去其购物车的内容。所以这取决于您是否相信您的客户将从持久购物车中获益。

没有与存储的购物车在数据库中,我会推荐这,你就可以看到人们正在添加到购物车的物品,然后不买这可能表明

所以短一些定价问题没问题回答....将其添加到数据库:)