繁体   English   中英

致命错误:调用未定义函数logging_in()

[英]Fatal error: Call to undefined function logged_in()

我做了一个登录脚本,当我想检查用户何时登录时,我使用了函数logged_in(),该函数包括:

function logged_in()
{
    if(isset($_SESSION['id']))
    {
        return true;
    }
    else 
    {
        return false;
    }
}

会话设置在这里:

else if ($login === true)
        {
            echo 'Login success.';
            include 'include/aside.php';
            include 'include/footer.php';
            $userid = id_from_username($username);
            $usernameforsession = username_from_id($userid);
            $_SESSION['id'] = $userid;
            $_SESSION['username'] = $usernameforsession;
            header( "refresh:2;url=index.php");
            exit();
        }

这是我在'index.php'中使用它的一个示例:

if(logged_in() === true)
{
    echo 'Site content when user is logged in.';
} else if(logged_in() === false)
{
    include 'include/widgets/register.php'; //registration form
}

是的,该功能包含在每个页面中。 我做了这个功能,所以它应该起作用...为什么它不起作用?

替换此代码:

if(logged_in() === true)

使用此代码:

if(isset($_SESSION['id']))

这消除了所有中间商。

尽管您列出了很多代码,但是您确定要包含session_start(); 在每个页面的顶部? 您需要先调用此函数,然后再对会话变量进行任何操作。

第二件事是错误消息显示该函数未定义-您确定是在页面的源代码中包含它还是在每个页面上定义该函数的代码中包含它?

如果您将其保存在名为“ functs.php”的文件中,则需要在将要调用该函数的每个页面中include()include()

如果您完全确定声明包含在每个页面中,那么我建议您检查一下以确保函数未在对象内部声明为方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM