无法检查用户是否已登录php

无法检查用户是否已登录php,php,Php,我有一个母版页,我的所有菜单都在其中,我无法检查用户是否已登录,这是我目前所拥有的 functions.php <?php ob_start(); function loggedin() { if(isset($_SESSION['user_id'])&&!empty($_SESSION['user_id'])) { return true; }else {

我有一个母版页,我的所有菜单都在其中,我无法检查用户是否已登录,这是我目前所拥有的

functions.php

<?php
ob_start();

function loggedin()
    {
        if(isset($_SESSION['user_id'])&&!empty($_SESSION['user_id']))
        {
            return true;
        }else
            {
                return false;
            }
    }

 ?>
if(!loggedin()){
echo "log out";
}else{
echo "log in";
}
但由于某些原因,这不起作用,我总是显示注销选项
我已尝试更改if语句,但没有成功。

在检查会话之前,必须使用
会话\u start()
启动会话,并确保已使用正确的名称和值打开会话

您还可以优化您的功能,以:

function loggedin(){
    return !empty($_SESSION['user_id']);
}

您从不使用
session_start()启动会话
。非常不清楚您是否在任何地方设置了
用户id
,以及如何设置。是的,我已经设置了
用户id
。请您更清楚一点,我不明白,并且我确定我用正确的名称和方式调用它value@craftx27是否已在页面顶部开始会话<代码>会话_开始()