【问题标题】:How to retain cart item history after logged out in codeigniter?注销codeigniter后如何保留购物车项目历史记录?
【发布时间】:2018-08-31 04:54:33
【问题描述】:

我需要将临时表中的项目插入到 codeigniter 购物车会话中。因为,我不想每次用户注销时都丢失购物车会话数据。而不是当用户登录他以前的购物车项目时,如果他故意没有删除它们,则应该显示它们。 谢谢

【问题讨论】:

  • 我认为你应该使用 cookie 或将数据存储到数据库中,而且这个平台不是免费的源代码提供者,做一些努力或谷歌
  • 您还可以将购物车信息存储在本地存储中,直到用户清空购物车或完成交易。因此,您是否应该使用 cookie/数据库/本地存储 100% 取决于您,而不是我们可以为您决定的事情。这就是为什么我投票以“主要基于意见”来结束这个问题。
  • 感谢 Magnus 的宝贵意见,但我也必须向用户提供任何其他机器的购物车历史记录。
  • 那我真的不明白这里的问题是什么?只需将购物车存储在一个表中(使用用户 ID),直到他们清空它/完成交易?然后当用户再次登录时它仍然存在。
  • 你的意思是说,不是 CI 购物车会话,而是来自临时表的所有事务。

标签: php codeigniter


【解决方案1】:

您可以将购物车项目保存到特定用户的数据库中,当用户注销时,取消设置会话中除用户 ID 之外的所有用户信息(不要检查是否通过会话用户 ID 登录)并获取购物车使用该 ID 的数据库中的内容。

【讨论】:

    【解决方案2】:

    首先您应该知道 CI_Cart 库已被标记为已弃用,因此如果这是一个您希望维护一段时间的长期项目,您可能只想使用另一个库。

    如果您仍想使用购物车库,我的建议是在您的数据库中创建一个与您的 cart_contents 会话数组具有相同结构的表。

    之后,您可能希望扩展 CI_Cart 库并添加在会话中保存数据的同时保存数据的功能。所有其他操作也是如此:删除项目、添加新项目等。

    之后,您只需转到登录功能,每次用户登录您的网站时,您都会查询该表并检查是否还有可用的购物车。如果是这样,只需使用 cart_contents 填充您的会话,用户就可以访问他留下的购物车。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      相关资源
      最近更新 更多