如何使指定的导航栏内容在用户成功登录后消失


How to make specified nav-bar contents to dissapear after a successful user login?

所以在我的index.php中,我有这个:

<!DOCTYPE html>
<html lang="en">
<body>
    <!-- Navigation -->
    <?php include 'includes/navigationbar.php'; ?>
    <!-- Footer of the site -->
    <?php include 'includes/footer.php'; ?>
</body>
</html>

这是navigationbar.php中的代码:

<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<ul class="nav navbar-nav navbar-right">
    <li>
        <a href="login.php">Sign In</a>
    </li>
    <li>
        <a href="register.php">Create Account</a>
    </li>  
</ul>  
enter code here

我怎样才能使这两个无序列表仅在用户登录时才出现在屏幕上?我有一个名为 users.php 的 PHP 文件,其中我有一个名为 logged_in 的函数。

以下代码来自users.php

function user_logged_in () {
    return (isset($_SESSION['user_id'])) ? true : false;
}

这就是我所做的,但它似乎不起作用:

下面的代码是navigation.php的一个片段,我只是放了一个条件来查看用户是否登录,如果他们是否登录,则回显登录,否则会出现无序列表。但是,我得到一个空白屏幕。

<?php
require 'users.php';
if(isset($_SESSION['user_id'])){
    echo 'logged in';
} else {
    <ul class="nav navbar-nav navbar-right">
        <li>
            <a href="login.php">Sign In</a>
        </li>
        <li>
            <a href="register.php">Create Account</a>
        </li>
    </ul>
}
?>

我尽力解释情况,但如果需要更多信息,请询问。

我个人会向索引发送一个参数.php说明用户是否已记录,或者您可以包含该文件以供以后使用user_logged_in方法并从索引调用它。

然后。。。

<?php   
    include 'users.php';
    if (!user_logged_in ){
         include 'includes/navigationbar.php'; 
    }else{
        //show another navitagion bar or whatever you want for logged users
    }
?>