2017-02-23 11 views
1

Как сделать некоторые опции вкладки меню невидим, если пользователь не Admin, например: если ['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 вар вы можете, например:

<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 методами:

1) Вы должны дать класс спрятанный как это:

<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> 
Смежные вопросы