dsvtnz6350 2018-05-29 15:19
浏览 189
已采纳

根据用户权限在下拉菜单中显示/隐藏选项

I have two type of users in my site. Admins and Users. Those are stored in the table user under the name of kind.

With this I can validate the login session:

<body>
      <?php if(isset($_SESSION["user_id"])):?>
      <div class="wrapper">
         <div class="sidebar" data-color="blue">
            <div class="logo">
               <a href="./" class="simple-text">
               INDEX PAGE FOR BOTH ADMINS AND USERS
               </a>
            </div>
            <div class="sidebar-wrapper">
               <ul class="nav">
                  <li class="">
                     <a href="./">
                        <i class="fa fa-home"></i>
                        <p>Home</p>
                     </a>
                  </li>
                  <li>
                     <a href="./?view=tickets">
                        <i class="fa fa-ticket"></i>
                        <p>Tickets</p>
                     </a>
                  </li>
                  <li>
                     <a href="./?view=calendario">
                        <i class="fa fa-ticket"></i>
                        <p>Calendar</p>
                     </a>
                  </li>
                  <li>
                     <a href="./?view=projects">
                        <i class="fa fa-building"></i>
                        <p>Projects</p>
                     </a>
                  </li>
                  <li>
                     <a href="./?view=categories">
                        <i class="fa fa-th-list"></i>
                        <p>Categories</p>
                     </a>
                  </li>
                  <li>
                     <a href="./?view=reports">
                        <i class="fa fa-area-chart"></i>
                        <p>Reports</p>
                     </a>
                  </li>
                  <li>
                     <a href="./?view=users">
                        <i class="fa fa-users"></i>
                        <p>Users</p>
                     </a>
                  </li>
               </ul>
            </div>
         </div>
         <div class="main-panel">
            <nav class="navbar navbar-transparent navbar-absolute">
               <div class="container-fluid">
                  <div class="navbar-header">
                     <button type="button" class="navbar-toggle" data-toggle="collapse">
                     <span class="sr-only">Toggle navigation</span>
                     <span class="icon-bar"></span>
                     <span class="icon-bar"></span>
                     <span class="icon-bar"></span>
                     </button>
                     <a class="navbar-brand" href="./"><b>Desktop IT Manager</b></a>
                  </div>
                  <div class="collapse navbar-collapse">
                     <ul class="nav navbar-nav navbar-right">
                        <li class="dropdown">
                           <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                           <i class="fa fa-user"></i>
                           &nbsp;<?php echo Core::$user->name." ".Core::$user->lastname." ".Core::$user->kind; ?>
                           </a>
                           <ul class="dropdown-menu">
                              <li class="divider"></li>
                              <li><a href="./?view=configuration">Account Settings</a></li>
                              <li class="divider"></li>
                              <li><a href="logout.php">Logout</a></li>
                           </ul>
                        </li>
                     </ul>
                     <!--
                        <form class="navbar-form navbar-right" role="search">
                          <div class="form-group  is-empty">
                            <input type="text" class="form-control" placeholder="Search">
                            <span class="material-input"></span>
                          </div>
                          <button type="submit" class="btn btn-white btn-round btn-just-icon">
                            <i class="fa fa-search"></i><div class="ripple-container"></div>
                          </button>
                        </form>
                        -->
                  </div>
               </div>
            </nav>
            <div class="content">
               <div class="container-fluid">
                  <?php 
                     View::load("login");
                     ?>
               </div>
            </div>
            <footer class="footer">
               <div class="container-fluid">
                  <nav class="pull-left">
                     <ul>
                        <li>
                        </li>
                        <!--
                           <li>
                             <a href="#">
                               Company
                             </a>
                           </li>
                           <li>
                             <a href="#">
                               Portfolio
                             </a>
                           </li>
                           <li>
                             <a href="#">
                                Blog
                             </a>
                           </li>
                           -->
                     </ul>
                  </nav>
                  <p class="copyright pull-right">
                     Developed by <a href="http://wwww.iesahn.com" target="_blank">Imagen Electrónica S.A de C.V</a> &copy; <script type="text/javascript">document.write(new Date().getFullYear());</script> 
                  </p>
               </div>
            </footer>
         </div>
      </div>
      <?php else:?>
      <?php 
         View::load("login"); 
         ?>
      <?php endif;?>
   </body>

Using <?php echo Core::$user->name." ".Core::$user->lastname." ".Core::$user->kind; ?> I'm pulling from the database the user's First and Last Name, and with Core::$user->kind I'm pulling the user type. 1 is for Admins and 2 is for Users.

Now, I would like to restrict access to certain sections of the ticket system by user type.

I had this idea, at least for the menu:

  <?php if(isset($_SESSION["user_id"])):?>
     <?php if((<?php echo Core::$user->kind; ?>) == 1):?>
        // insert full <div class="wrapper"> here 
     <?php else:?>
        // insert modified <div class="wrapper"> here (limited functions for 
        // normal users
     <?php endif;?>
  <?php else:?>
  <?php 
     View::load("login");
     ?>
  <?php endif;?>

But... It won't work. How can I make it work?

  • 写回答

1条回答 默认 最新

  • dpdkqls6399 2018-05-29 15:52
    关注

    It was easier than I thought, actually.

      <?php if(isset($_SESSION["user_id"])):?>
         <?php if(Core::$user->kind==1):?>
           //Admin Content
         <?php elseif(Core::$user->kind==2):?>
           //User Content
         <?php endif; ?>    
      <?php else:?>
      <?php 
         View::load("login");         
         ?>
      <?php endif;?>
    

    This worked perfectly. I will validate all other sections of the ticket system using this.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 qgcomp混合物线性模型分析的代码出现错误:Model aliasing occurred
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'