如何解决会话过期问题

时间:2012-10-27 08:48:50

标签: php codeigniter session

我正在建立一个会话过期问题的网站。该表单包含近50个输入字段,我已在ajax中完成。我已经在页面重新加载中给用户检查了问题是会话和cookie设置是在页面重新加载时完成的,

如何在不丢失数据的情况下检查用户是否已登录?有没有ajax功能 保留会话?

3 个答案:

答案 0 :(得分:0)

解决此问题的一种方法是增加会话超时。

ini_set('session.gc_maxlifetime', '3600'); //Assign the time in seconds

答案 1 :(得分:0)

你能增加php.ini中的会话生命周期吗? 查看session.cookie_lifetime,session.gc_maxlifetime和session.cache_expire等选项

另一种选择可能是通过对输入进行分组来减少输入,并且仅向用户显示每页10个输入。如果提交了这些,则显示接下来的10个输入。

另一个选项可能是在加载页面时将用户ID或会话保存在变量中,然后在提交时将输入数据保存到临时变量(数组),如果会话不再有效。

答案 2 :(得分:0)

每隔几分钟发出任何类型的请求(如Ajax POST)都应“触摸”会话并防止其过期。

Here是一个随机代码示例,看起来没问题。