浏览器重启后Cookie死亡

时间:2013-12-05 19:53:36

标签: php session cookies

我在我的网站上设置了1年的过期日期,但是当我退出并重新启动浏览器时,它们就会死亡。到期日期是否太高,或者与此相关的其他问题是什么?

我的代码如下:

<?php
ob_start();

$_SESSION['SESS_USER_ID'] = $user_info['user_id'];
$_SESSION['SESS_LOGGED'] = TRUE;
session_write_close();

setcookie("COOK_USER_ID",$user_info['user_id'],time()+(3600*24*365),'/');
setcookie("COOK_LOGGED",TRUE,time()+(3600*24*365),'/');
?>

在我的auth.php中,我同时检查:

<?php
session_start();
if(!$_SESSION['SESS_LOGGED'] && !$_COOKIE['SESS_LOGGED']){ 
     header("Location: register.php?header=no");
     exit();
}
?>

1 个答案:

答案 0 :(得分:0)

你在auth.php中输了一个拼写错误:

if(!$_SESSION['SESS_LOGGED'] && !$_COOKIE['SESS_LOGGED']){ 

应该是

if(!$_SESSION['SESS_LOGGED'] && !$_COOKIE['COOK_LOGGED']){ 

并且会话不会持久,因为PHP会将session_id cookie设置为当前会话的生命周期。