简体   繁体   中英

How Do I make it where only an Admin or a Manager User type can see a Navigation Link

What I'm trying to do is have it where the links are hidden from regualr users, and it will check to see what the users type is, if its an admin or a manager level it will display certain links example:

<a href="adminarea.php"> Admin Only </a> 

Where only a User type admin is able to see the link above and also the link below in the navigation bar or a Manager is able to see only the Managers only link.

<a href="manager.php"> Managers Only </a> 

This is what will show the Users Type I only have three user types, Admin, Manager and User levels.

 <?php echo $_SESSION['user']['user_type'];?> 

This is what I have Right Now where only a Logged in user is able to view these Links Below:

<?php 
session_start();
if(isset($_SESSION['user']['username'])){
    echo "
        <li class='nav-item dropdown'>
        <a class='nav-link dropdown-toggle' href='#' id='navbarDropdownMenuLink' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'><i class='fa fa-exclamation-triangle'></i>
        Admin/Managment
        </a>
        <div class='dropdown-menu' aria-labelledby='navbarDropdownMenuLink'>
        <a class='nav-link' href='managment/login.php'>Managment Login</a>
        <a class='nav-link' href='admin/login.php'>Admin Login</a> 
        </div>
        </li>
        ";

echo "   </li>
    <li class='nav-item'>
    <a class='nav-link' href='logout.php'><i class='fa fa-power-off'></i> Logout</a>
    </li>";

}else{
}
?>

Any Ideas on how I'm able to make this happen? Thank You In Advance!

Try this:

<?php
session_start();
if(isset($_SESSION['user']['username'])){
    if (($_SESSION['user']['user_type'] == 'admin')||($_SESSION['user']['user_type'] == 'manager')){
        if ($_SESSION['user']['user_type'] == 'admin') {
            $link = "<a class='nav-link' href='admin/login.php'>Admin Login</a>";
        } elseif ($_SESSION['user']['user_type'] == 'management') {
            $link = "<a class='nav-link' href='managment/login.php'>Managment Login</a>";
        }
            echo "
                <li class='nav-item dropdown'>
                <a class='nav-link dropdown-toggle' href='#' id='navbarDropdownMenuLink' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'><i class='fa fa-exclamation-triangle'></i>
                Admin/Managment
                </a>
                <div class='dropdown-menu' aria-labelledby='navbarDropdownMenuLink'>".$link."
                </div>
                </li>
                ";

echo "</li>
    <li class='nav-item'>
    <a class='nav-link' href='logout.php'><i class='fa fa-power-off'></i> Logout</a>
    </li>";
}
}else{
}
?>

You can easily check the user type and then use if else statement to display what's needed.

Here's my edit to your code....

<?php 
session_start();
if(isset($_SESSION['user']['username'])){
    echo "
        <li class='nav-item dropdown'>
        <a class='nav-link dropdown-toggle' href='#' 
          id='navbarDropdownMenuLink' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'><i class='fa fa-exclamation-triangle'></i>
        Admin/Managment
        </a>
        <div class='dropdown-menu' aria-labelledby='navbarDropdownMenuLink'> ";
?>
<?php
        if ($_SESSION['user']['username'] == 'Admin'){
?>
        <a class='nav-link' href='managment/login.php'>Managment Login</a>
<?php 
        } elseif ($_SESSION['user']['username'] == 'Manager'){
?>
            <a class='nav-link' href='admin/login.php'>Admin Login</a>
<?php 
        } 
?> 
</div>
</li>
";

    echo "   </li>
        <li class='nav-item'>
        <a class='nav-link' href='logout.php'><i class='fa fa-power-off'></i> Logout</a>
        </li>";
}else{

}
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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