【问题标题】:Cookie / Session Value lost on deletionCookie / 会话值在删除时丢失
【发布时间】:2023-03-28 01:15:02
【问题描述】:

我创建了一个购物车网站,在更新购物车时会增加或减少我的产品表的数量列。例如,假设我的产品表上有 10 件 T 恤。一个人将 4 添加到他的购物车中。所以现在表中的 T 恤数量是 6。

但是这里有一个问题.. 由于我使用 Session 执行此操作,因此当浏览器关闭时,session['cart'][$productid]['quantity'] 会丢失,尽管此人尚未购买他添加到购物车的 4 件 T 恤,但无法在产品列中检索数量。这意味着我的产品栏将有 6 件 T 恤,而不是 10 件,尽管没有人购买 4 件,而且用户的购物车也丢失了..

这也是cookie的问题..假设有人在不知情或有意的情况下删除了他所有的浏览器cookie,这里的数量也丢失了..

有解决办法吗?

【问题讨论】:

    标签: php session cookies


    【解决方案1】:

    在他完成购买之前,您不应该减少库存数量。你应该只在他结账后减少库存。您可以继续将购物车放入 cookie 中,并在他结帐之前进行库存检查,如果可用库存少于他添加到购物车中的数量,然后显示一条消息,指出所需数量不可用如果可用,请继续结帐

    【讨论】:

    • 那么我应该如何检查用户是否可以将更多产品添加到他的购物车中?让一个用户在他的购物车中添加 20 个产品,然后在购买时发现只有 10 个产品可用.. 那怎么办?
    • 我认为这不是一个很好的解决方案。这让客户感到失望。他添加了这么多要记住购买的内容。然后是限制...
    • 这是一把双刃剑,假设客户只是将它添加到他的购物车但从未购买它,那怎么办?你的物品被遗忘了对吧?好的...另一个建议是定期调用ajax来轮询库存,如果发生了购买并且库存低于用户放入购物车的数量,那么立即提醒用户,从而他会有更好的体验,恕我直言,您应该仅在购买后减少库存
    • 投票?它对我的 RAM 使用有好处吗?定期轮询是浪费资源的噩梦。
    • 同意的轮询很糟糕,还有其他轮询选项,例如使用 Atmosphere Framework 或使用 Node.js 进行长轮询,这将对您有所帮助。
    猜你喜欢
    • 2011-01-13
    • 2013-11-18
    • 2012-02-22
    • 1970-01-01
    • 2021-08-26
    • 2020-05-02
    • 2018-01-23
    • 2013-09-12
    • 2015-12-07
    相关资源
    最近更新 更多