每次重新生成会话id时,我如何在php中延长cookie过期时间


how can i extend the cookie expiration time in php everytime i i regenerate the session id?

我有一个会话管理器页面:sessmgr.php。该页面旨在验证用户登录信息,设置cookie,并通过定期更新cookie过期时间和通过XML HTTP请求重新生成会话id来保持会话变量的有效性,直到用户注销。我可以更新会话id,但不能延长cookie过期时间。

如何在此处更新cookie过期时间??

您应该能够使用setcookie更新到期时间,如:

setcookie("Cookiename", $value, NewExpirationTime)

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

只需用新时间重写cookie。

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语法。错过了我使用会话,而你想要一块饼干。