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

时间:2013-12-03 06:28:44

标签: php

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

  1. 我如何解决这个问题?

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

  3. 提前致谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

  1. 更改web.config

  2. 中的timeout
  3. 以固定间隔

  4. 将会话变量分配给自身

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

    您可以通过在jQuery中使用setTimeoutsetInterval调用函数来实现此目的

    您可以轻松找到有关如何轻松完成相同操作的详细信息here