我在我的网站上设置了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();
}
?>
答案 0 :(得分:0)
你在auth.php中输了一个拼写错误:
if(!$_SESSION['SESS_LOGGED'] && !$_COOKIE['SESS_LOGGED']){
应该是
if(!$_SESSION['SESS_LOGGED'] && !$_COOKIE['COOK_LOGGED']){
并且会话不会持久,因为PHP会将session_id cookie设置为当前会话的生命周期。