如何在菜单侧栏php上设置权限管理员

时间:2018-02-01 07:56:58

标签: php

如何在菜单上取得权限

管理员

|---------------------|------------------|
|          id         |       name       |
|---------------------|------------------|
|          1          |    TESTNAME      |
|---------------------|------------------|

许可

|---------------------|------------------|------------------|
|         id .        |      admin_id    |      status      |
|---------------------|------------------|------------------|
|          1          |          1       |       member     |
|---------------------|------------------|------------------|
|          2          |          1       |    container     |
|---------------------|------------------|------------------|

在我的html中我想检查如果status = member然后显示菜单

 if($status == member){
    <li>
        <a href="member.php">
          <span class="sidebar-mini">O</span>
          <span class="sidebar-normal">member</span>
        </a>
      </li>
   } else {

   }

2 个答案:

答案 0 :(得分:0)

here is the simple demonstration.how to set permission for particular url or menu
    if (isset($_SESSION['your session variable'])) {
    $qry=mysqli_query($con,"select * from permission where admin_id='" . $_SESSION['your session id'] . "'");
    $data=mysqli_fetch_array($qry);
    $status= $data['status'];
  if($status == member){ ?>
    <li>
        <a href="member.php">
          <span class="sidebar-mini">O</span>
          <span class="sidebar-normal">member</span>
        </a>
      </li>
  <?php } else {

   }

}

答案 1 :(得分:0)

您也可以在通过简单的JOIN语句授权(登录)您的用户时执行此操作:

SELECT admin.id, admin.name, permissions.status FROM admin INNER JOIN permissions ON permissions.admin_id = admin.id WHERE admin.name = '" . $user_name . "'

其中 $ user_name 是管理表中名称的字符串表示形式,以防您按此值检索用户。您可以将其更改为:

... admin.id = (int)$user_id

如果由于某种原因您已经知道该ID。当然,使用某些SQL驱动程序或至少PHP SQLi驱动程序以及准备查询中提供的参数总是更好:mysqli.prepare。您应该始终根据预期类型转义查询中提供的变量,而始终始终在提供这些变量时更为重要由外部用户。

因此,如果您执行该查询,那么在您的模板中,您可以拥有 $ data [&#39; status&#39;] 以及 $ data [&#39; name& #39;。]

我还建议更改此条件:

if($status == member){

分为:

if('member' === $status) { 

建议您将字符串放在左侧,这样您就无法混淆您的变量,下一个成员是一个字符串,并且无需引号键入有时可能是错误的被解释为常数。 我还鼓励不在模板中使用查询,更好地分离你的逻辑,并检查使用模板引擎,如Twig,Smarty等,这将使你能够更多地分离你的逻辑,并在你的视图中直接停止使用PHP代码

祝你好运:)。