我正在开发电子商务网站。我们将大部分购物车详细信息存储在PHP Sessions上。我们面临的问题是当客户来到我们的网站并选择任何项目时......一旦他选择了该项目,他就会离开页面一段时间(这将是大于默认会话时间)并且客户在某个时间之后支付金额...发生的事情是客户支付金额并从他的银行账户中扣除金额。当他将银行返回我们的网站时,所有会话都将被取消...所以数据库更新没有发生......所以我的问题是
我如何解决这个问题?
其他公司遵循的最佳方式和常见做法是什么?
提前致谢
答案 0 :(得分:0)
尝试使用Cookie而不是会话。 Cookie会持续存在,直到用户明确清除它们或它们过期(您设置过期日期)。当用户关闭浏览器时,会话会消失,或者随着时间的推移很快就会消失。在php中,要读取cookie,请使用$ _COOKIE。要设置cookie,请使用setcookie()(支持非常高的过期日期。例如time()+(86400 * 365)或一年)。
答案 1 :(得分:0)
如果您想继续使用会话并仍然避免此问题, 有两个选项
更改web.config
timeout
值
以固定间隔
第二种方法将继续向服务器发送请求,这将重置会话到期时间。
您可以通过在jQuery中使用setTimeout
或setInterval
调用函数来实现此目的
您可以轻松找到有关如何轻松完成相同操作的详细信息here