我正在用 PHP 开发一个电子商务网站,我想实现以下功能:如果用户未登录,他可以将产品添加到购物车,并且在登录后仍然拥有这些产品。此外,该功能必须以相反的方式工作:用户登录,然后将产品添加到购物车。
我认为执行此操作的一个好方法是使用会话 ID,但经过一些测试后发现这不是最好的方法。
有什么想法吗?
为什么使用会话不是最好的方法?我想说是的。
您可以拥有一个单独的、基于会话的“非登录”购物车结构,这是普通购物车的精确副本。如果用户未登录,产品将存储在那里。
当用户登录时,您将未登录的购物车的内容与用户特定于用户的购物车中可能已有的任何商品合并。
该点也是处理产品选择可能引起的任何冲突的地方(例如,所选产品已存在于登录用户的购物车中)。
使用 @Codemwnci 推荐的 cookie 来存储产品或购物车 ID 也是一个好主意,因为它允许用户稍后返回并仍然拥有您可能想要的购物车内容。
相同的合并原则也适用于此,但需要额外检查 cookie 中的产品是否确实有效(它们可能在用户做出选择后已被删除,或者用户可能已更改 cookie)。
| 归档时间: |
|
| 查看次数: |
3798 次 |
| 最近记录: |