我们网站上的会话超时问题


Session timeout issue on our web site

我正在开发一个电子商务网站。我们将大部分购物车详细信息存储在PHP会话中。我们面临的问题是,当客户来到我们的网站并选择任何项目时。。。。。一旦他选择了项目,他离开页面一段时间(这将大于默认会话时间),客户将在一段时间后支付金额。。。发生的情况是,客户正在支付金额,而金额从他的银行账户中扣除。当他将银行返回我们的网站时,所有会话都将取消设置。。。所以数据库更新没有发生。。。所以我的问题是

  1. 我怎样才能解决这个问题?

  2. 最好的方法是什么?其他公司遵循的常见做法是什么?

提前感谢

尝试使用cookie而不是会话。Cookie会一直存在,直到用户明确清除它们,或者它们过期(您设置了过期日期)。当用户关闭浏览器时,会话就会消失,或者很快就会消失。在php中,要读取cookie,请使用$_cookie。要设置cookie,请使用setcookie()(支持一个非常高的过期日期。比如time()+(86400*365),或者一年)。

如果您想继续使用会话并仍然避免此问题,有两种选择

  1. 更改web.config 中的timeout

  2. 以规则间隔将会话变量分配给自身

第二种方法将继续向服务器发送请求,服务器将重置会话到期时间。

您可以通过在jQuery 中使用setTimeoutsetInterval调用函数来实现这一点

您可以在这里找到如何轻松完成相同操作的更多详细信息