PHP会话Cookie

时间:2013-12-30 12:59:57

标签: php session cookies

我有一个php会话。终身到期时间设定为当前日期(2013年12月30日)的1周。

方案: 1.将系统时间更改为2014年1月6日,然后到期日更改为2014年1月13日(即2014年1月6日起的一周)。 2.现在我再次将系统时间更改为当前日期和时间(2013年12月30日),

怀疑:截止日期仍显示为2014年1月13日, 不应该是1月6日,因为它是从今天的日期开始的一周?

提前致谢!!

1 个答案:

答案 0 :(得分:1)

当您增加计算机的时间时,Cookie已过期,因此未发送。因此,服务器生成了一个新的有效期限的cookie。

当您减少计算机上的时间时,Cookie仍然有效,因此已发送。 PHP看到了有效的cookie,因此没有理由发布一个新的有效期限的cookie。

如果你想强制php发出一个新的有效期限的cookie,即使旧的cookie仍然有效,那么在调用session_start之前将这段代码放入你的代码中。

if(isset($_COOKIE[session_name()]))
{
    session_id(session_id());
}