在php中的购物车与会话&数据库

时间:2015-12-31 19:47:15

标签: php session cart

我使用会话和数据库在PHP中开发了一个购物车。

如果用户未登录(访客),则购物车项目存储在$_SESSION["cart"]变量中。

如果用户已登录,则$_SESSION["cart"](如果有)中的所有购物车项目都将复制到数据库,并且数据库中的所有先前购物车项目(如果有)也会复制回{{1} }。在这里,我将副本保存在会话和数据库中。

只要用户登录,我就不会遇到购物车项目的问题。

由于我正在为访客使用会话,因此一旦浏览器关闭,我肯定会丢失购物车详细信息。

我如何克服这种情况?

我正在尝试将来宾购物车详情存储在数据库中,并带有唯一的Cookie值。建议好吗?购物车表详情:

$_SESSION["cart"]

1 个答案:

答案 0 :(得分:3)

这是我要制作的程序流程。它很模糊,所以你可以按照自己的意愿实现它。

  1. 创建随机会话ID,甚至可能与Math.random()一样简单。
  2. 检查购物车的数据库以查看是否已获取该ID。如果是,请返回步骤1.
  3. 使用该会话ID在购物车数据库中创建一个带有购物车ID的条目。
  4. 使用该会话ID创建Cookie $_COOKIE["carts"]
  5. 每次用户更新购物车(即添加或删除商品)时,请检查Cookie以获取会话ID并更改数据库中的信息。
  6. 提交购物车时,从cookie中检索会话ID并使用该会话ID检索数据库信息,然后使用数据库中的数据执行PHP魔术购买(清空购物车)。
  7. 删除cookie并从数据库中删除该条目。