我怎样才能在每次重新生成会话ID时延长php的cookie到期时间?

时间:2013-12-02 11:20:25

标签: php session cookies

我有一个会话管理器页面: sessmgr.php 。此页面应该验证用户登录信息,设置cookie并保持会话变量活跃,方法是更新cookie过期时间并定期通过XML HTTP请求重新生成会话ID,直到用户注销。我能够更新会话ID,但不能延长cookie的到期时间。

如何更新Cookie到期时间?

3 个答案:

答案 0 :(得分:15)

您应该可以使用setcookie更新到期时间,如:

setcookie("Cookiename", $value, NewExpirationTime)

检查Cookiename是否完全相同,以便覆盖旧的Cookie。

答案 1 :(得分:-1)

只需用新时间重写cookie。

答案 2 :(得分:-1)

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > SESSION_TIMEOUT)) { // SESSION_TIMEOUT is the amount of time you want the session to be.
    session_unset();
    session_destroy();
    header('Location: login.php');
}
$_SESSION['LAST_ACTIVITY'] = time();

将此添加到您的页面。 if语句检查会话时间是否已过期,并将用户重定向到loginpage.php。否则它只会更新会话时间

当然,您将更改为cookie语法。错过了我使用会话而你想要一个cookie。