购物车,会议或数据库?

时间:2011-08-29 06:53:41

标签: php mysql session shopping-cart

我开始在php中开发一个多商店购物车,每个用户都有不同商店的购物车。我想知道当用户点击“添加到购物车”时,保存购物车详细信息(如产品名称,ID,价格等)的更好方法是什么。我认为我们可以通过两种方式保存它:a)会话b)Db表。

哪种方法可以保存所有这些信息?我想让它尽可能安全。

请建议。

由于

3 个答案:

答案 0 :(得分:8)

您必须知道数据的重要性。如果您认为购物车中的数据不重要且多个会话不需要,您可以使用会话执行此操作并将一些写入保存到数据库中。

即使您确实需要数据库,也可以保存一些写入并使用客户端进行临时存储,最后使用某种同步机制将其移动到数据库。

但是,如果您的数据非常关键且必须在多个会话中持续存在,那么数据库将是一个理想的选择,因为它可以为您提供更多的数据访问权限,并且还可以简化实施。

答案 1 :(得分:7)

会话或数据库不是唯一选择 - 会话也可以存储在数据库中。在某种程度上,您必须为用户检索购物车。在所有情况下,您都会有此会话。问题是如果购物车应该在会话之间保持(对于注册用户)。在这种情况下,您不应该与会话结合购物车。如果您想为注册用户保存购物车,允许未注册的购物车,以及合并会话购物车和保存的购物车以防用户登录,事情会变得复杂。

所以要回答你的问题,你应该清楚你的要求。 什么意思'不同商店下的购物车'? 将在登录之间保存购物车(例如用户在1周后回来)?

至于安全性,通常首选将会话保存在数据库中,因为您可以获得有权访问数据的其他保护,尤其是在共享主机上。

答案 2 :(得分:0)

使用DataBase实现,您可以实现精细控制和更好的持久性。

使用Session来了解页面之间的登录用户,但使用DataBase来存储关键数据。