Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话cookies-首次访问时注销的用户_Php_Session_Cookies - Fatal编程技术网

Php 会话cookies-首次访问时注销的用户

Php 会话cookies-首次访问时注销的用户,php,session,cookies,Php,Session,Cookies,我的网站中有一个“仅限用户”部分,但在他们退出浏览器或使用新计算机或有一段时间未登录后第一次访问该网站时,他们会很好地进入登录主页,但当他们尝试从该主页导航到第二个登录页面时,他们会自动注销。当他们第二次登录时,效果消失,一切正常 我已经开始上课了;在每一页的顶部 这是用户登录时生成会话的方式: session_regenerate_id(true); // destroying the old session id and creating a new one $_SESSION['id']

我的网站中有一个“仅限用户”部分,但在他们退出浏览器或使用新计算机或有一段时间未登录后第一次访问该网站时,他们会很好地进入登录主页,但当他们尝试从该主页导航到第二个登录页面时,他们会自动注销。当他们第二次登录时,效果消失,一切正常

我已经开始上课了;在每一页的顶部

这是用户登录时生成会话的方式:

session_regenerate_id(true); // destroying the old session id and creating a new one
$_SESSION['id'] =  $login;
setcookie("id", $login, strtotime( '+30 days' ), "/", "", "", TRUE);
为了安全起见,我让会话重新生成,但可能我做得不对,导致了问题

登录检查:


$login来自哪里?它是用户ID,用户名和密码检查通过后从数据库中提取。您是否尝试在试图使用$login设置会话ID的位置回显该$login,以确保正确填充该变量?您是否还可以让我们更好地了解用户是如何自动注销的?问题很容易与代码用于引导用户的逻辑有关。$login返回了正确的值。请参见自动注销的编辑。
public function logged_in () {
    return(isset($_SESSION['id'])) ? true : false;
}

public function logged_out_protect() {
    if ($this->logged_in() === false) {
        header('Location: index.php');
        exit();
    }   
}