2017-02-23 72 views
1

如何使一些菜单选项卡选项是不可见的,如果用户不是管理员,例如:如果['user_level']>=5如何使菜单选项卡不可见,如果用户不是管理员

<a class="navbar-brand" href="#">CBS</a> 
    </div> 
    <div id="navbar" class="navbar-collapse collapse"> 
     <ul class="nav navbar-nav"> 

     <li class="active"><a href="home.php">DTC</a></li> 
     <li><a href="#">View Proposal</a></li> 
     <li><a href="#">Users details</a></li> 
     </ul> 
     <ul class="nav navbar-nav navbar-right"> 

我要让仅home.php菜单只有用户才能看到。管理员可以看到所有菜单选项卡。

例如屏幕截图

image

回答

1

服务器端在PHP中,你可以有条件地呼应了相关元素。

假设你的用户身份验证被分配到$ USERAUTH VAR可以如:

1)你必须给类隐象这样:

<a class="navbar-brand" href="#">CBS</a> 
</div> 
<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav"> 

    <?php if ($userAuth == 'Admin') { 
     echo '<li class="active"><a href="home.php">DTC</a></li>'; 
     } 
    ?> 
    <li><a href="#">View Proposal</a></li> 
    <li><a href="#">Users details</a></li> 
    </ul> 
    <ul class="nav navbar-nav navbar-right"> 
1

您可以2种方法做:

<style type="text/css"> 
    .hidden { 
     display: none; 
    } 
</style> 

<?php 
if ($user_level>=5) { 
    $hide = "hidden"; 
} else { 
    $hide = ""; 
} 
?> 

<a class="navbar-brand" href="#">CBS</a> 
</div> 
<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav">  
    <li class="active <?=$hide?>"><a href="home.php">DTC</a></li> 
    <li class="<?=$hide?>"><a href="#">View Proposal</a></li> 
    <li class="<?=$hide?>"><a href="#">Users details</a></li> 
</ul> 
<ul class="nav navbar-nav navbar-right"> 

2)如果其他条件:

<a class="navbar-brand" href="#">CBS</a> 
</div> 
<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav"> 
     <?php if ($user_level>=5) { ?> 
     <li class="active"><a href="home.php">DTC</a></li> 
     <?php } else { ?> 
     <li class="active"><a href="home.php">DTC</a></li> 
     <li><a href="#">View Proposal</a></li> 
     <li><a href="#">Users details</a></li> 
     <?php } ?> 
    </ul> 
    <ul class="nav navbar-nav navbar-right"> 
0

不要重复代码 - 这是第一条规则。所以更好的是写: (我认为['user_level']是array()中的某个值; - 这里我称这个数组为$ user:

<a class="navbar-brand" href="#">CBS</a> 
<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav"> 
<!--first of all check if you get $user values--> 
     <?php if (isset($user)): ?> 
<!-- display common elements for ALL USERS --> 
      <li class="active"><a href="home.php">DTC</a></li> 
<!--   elements only for admins - users with level greater then 5--> 
      <?php if ($user['user_level'] >= 5): ?> 
       <li><a href="#">View Proposal</a></li> 
       <li><a href="#">Users details</a></li> 
      <?php endif; ?> 
     <?php endif; ?> 
    </ul> 
相关问题