成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁 ? 技術(shù)教程 ? PHP實(shí)現(xiàn)權(quán)限管理功能示例
全站頭部文字 我要出現(xiàn)在這里
PHP實(shí)現(xiàn)權(quán)限管理功能示例 766 2023-12-10   

權(quán)限管理系統(tǒng),它主要是為了給不同的用戶設(shè)定不同的權(quán)限,從而實(shí)現(xiàn)不同權(quán)限的用戶登錄之后使用的功能不一樣。

首先先看下數(shù)據(jù)庫

查看圖片查看圖片查看圖片查看圖片查看圖片

總共有5張表,users,roles和roleswork 3張表與另外2張表形成"w"型的關(guān)系,也是比較常見的一種權(quán)限數(shù)據(jù)庫的方式,首先先做權(quán)限的設(shè)定,也就是管理層給不同用戶設(shè)定不同權(quán)限。

1.管理員頁面RBAC.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>權(quán)限管理</title>
    <script src="http://www.gimoo.net/t/1711/bootstrap/js/jquery-1.11.2.min.js"></script>    
  </head>
  <body>  
    <h2>用戶與角色管理</h2>
    <div>
      請選擇用戶:
    <select id="user">
      <?php
      require_once "./DBDA.class.php";
      $db = new DBDA();
      $sql = "select * from users";
      $arr = $db->query($sql,0);
      foreach($arr as $v){
        echo "<option value='{$v[0]}'>{$v[2]}</option>";
      }
      ?>
    </select>
    </div>  
    <br />
    <div>
      請選擇角色:
      <?php
      $sql = "select * from roles";
      $arr = $db->query($sql,0);
      foreach($arr as $v){
        echo "<input type='checkbox' class='ck' value='{$v[0]}'>{$v[1]}";
      }
      ?>
    </div>
    <br />
    <input type="button" value="確認(rèn)" id="btn"/>
  </body>
  <script>
    sel(); //選中默認(rèn)角色
    $("#user").change(function(){
       //當(dāng)用戶選中變化的時候,去選中相應(yīng)角色
      sel();
    })
      //點(diǎn)擊確定保存角色信息
    $("#btn").click(function(){
      var uid = $("#user").val();
      var ck = $(".ck");
      var role = "";//初始為空
      for(i=0;i<ck.length;i++){
        var v = ck.eq(i).val();
        if(ck.eq(i).prop("checked")){
          role += ck.eq(i).val()+"|";
        }
      }
      $.ajax({
        type:"POST",
        url:"RBbtnchuli.php",
        data:{uid:uid,role:role},
        dataType:"TEXT",
        success:function(data){
          alert("修改成功!");
        }
      });
    })
      //選中默認(rèn)角色的封裝方法
    function sel(){
      var uid = $("#user").val();
      $.ajax({        
        url:"RBchuli.php",
        data:{uid:uid},
        type:"POST", 
        dataType:"TEXT",
        success:function(data){
          var role = data.split("|");
          var ck = $(".ck");
          ck.prop("checked",false);
          for(i=0;i<ck.length;i++){
            var v = ck.eq(i).val(); 
            if(role.indexOf(v)>=0){
              ck.eq(i).prop("checked",true);
            }
          } 
        }
      });
    }
    
  </script>
</html>

2.做管理員的處理頁面RBchuli.php

<?php
$uid = $_POST["uid"];
require_once "./DBDA.class.php";
$db = new DBDA();
$sql = "select rolesuid from users_roles where usersuid='{$uid}'";
echo $db->StrQuery($sql,0); 保存角色信息的處理頁面RBbtnchuli.php

保存角色信息的處理頁面RBbtnchuli.php

<?php 
$uid = $_POST["uid"]; 
$role = $_POST["role"];//字符串 
$role = substr($role,0,strlen($role)-1); 
$arr = explode("|", $role); 
require_once "./DBDA.class.php"; 
$db = new DBDA(); 
//刪除 
$sdel = "delete from users_roles where usersuid='{$uid}'"; 
$db->query($sdel); 
//添加 
foreach($arr as $v){ 
  $sql = "insert into users_roles values(0,'{$uid}','{$v}')"; 
  $db->query($sql); 
} 

效果如圖:

查看圖片

查看圖片

接下來做的是登錄某個賬號,查看自己的職能

3.用戶登錄頁面RBlogin.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://www.gimoo.net/t/1711/bootstrap/js/jquery-1.11.2.min.js"></script>
    <script src="http://www.gimoo.net/t/1711/bootstrap/js/bootstrap.min.js"></script>
    <link  rel="external nofollow" rel="stylesheet" type="text/css"/>
  </head>
  <style>
    .title{
      margin-left: 600px;
      margin-top: 150px;
    }
    .quanju{
      margin-left: 450px;
      margin-top: -180px;
    }
    .name,.pwd{
      max-width: 120px;
    }
    .yangshi1{
      margin-top: 200px;
    }
  </style>
  <body>    
<form class="form-horizontal" role="form" action="RBloginchuli.php" method="post">
  <h3 class="title">用戶登錄</h3>
  <div class="quanju">
      <div class="form-group yangshi1">
        <label for="firstname" class="col-sm-2 control-label">用戶名:</label>
        <div class="col-sm-10">
          <input type="text" class="form-control name" name="uid" placeholder="請輸入用戶名">
        </div>
      </div>
      <div class="form-group yangshi2">
        <label for="lastname" class="col-sm-2 control-label">密碼:</label>
        <div class="col-sm-10">
          <input type="text" class="form-control pwd" name="pwd" placeholder="請輸入密碼">
        </div>
      </div>
      <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
          <div class="checkbox">
            <label>
            <input type="checkbox">
            保存密碼 </label>
            <label>
            <input type="checkbox">
            下次自動登錄 </label>
          </div>
        </div>
      </div>
      <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
          <button type="submit" class="btn btn-warning" value="登錄" onclick="return login()" >
          登錄
          </button>
          
        </div>
      </div>
    </div>  
  </form>    
  </body>
</html>

4.登錄頁面的處理頁面RBloginchuli.php

<?php
session_start();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
require_once "./DBDA.class.php";
$db = new DBDA();
$sql = "select pwd from users where uid='{$uid}'";
$mm = $db->StrQuery($sql,0);
if(!empty($pwd) && $pwd==$mm){
  $_SESSION["uid"] = $uid;
  header("location:RBmain.php");
}else{
  echo "<script>alert('用戶名或密碼有誤!')</script>";
}

5.最后做用戶的主頁面RBmain.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>權(quán)限主頁面</title>    
  </head>
  <body>
    <?php
    session_start();
    if(empty($_SESSION["uid"])){
      header("location:RBlogin.php");
      exit;
    }
    $uid = $_SESSION["uid"];
    
    require_once "./DBDA.class.php";
    $db = new DBDA();
    //子查詢
    $sql = "select * from roleswork where code in (select * from roles_roleswork where rolesuid in (select * from users_roles where usersuid='{$uid}'))";
    $arr = $db->query($sql,0);
    foreach($arr as $v){
      echo "<div class='menu'>{$v[1]}</div>";
    }    
    ?>
        
  </body>
</html>

效果如圖:

查看圖片

以上就是小編為大家?guī)淼腜HP實(shí)現(xiàn)權(quán)限管理功能示例的全部內(nèi)容了,希望大家喜歡哦~

如果大家想了解更多游戲活動與游戲攻略,請持續(xù)關(guān)注本站,本站小編將在第一時間為大家?guī)碜詈每础⒆詈猛妗⒆钚迈r的游戲資訊。更多精彩內(nèi)容,盡在gimoo游戲頻道!


主站蜘蛛池模板: 性视频播放| 免费看黄网站在线| vs岚| 性视频网站在线| 硅酸钙板厂家联系方式| 桐谷| 疯狂试爱二| 朱莉安妮全集高清免费| 魔界 电影| 所求皆所愿| 我的老婆又大肚| 第三套广播体操七彩阳光完整版视频| 试看60秒做受小视频| 美国要塞1986| raz分级阅读绘本| 花月佳期 电影| 杨紫和肖战演的电视剧是什么| 一江春水向东流 电视剧| naughty america| 陈稳| 中央6套| 中医基础理论试题题库及答案 | 可爱美女跳舞蹈视频| 免税车中企诚谊| 悲伤天使| 潇洒的走简谱| 赫伯曼电影免费观看| 欧美大片在线视频| 女子监狱第五季| 水果篮子第二季全集| 学生早餐吃什么方便又营养| 日本电影幻想| 远方的故乡简谱| 一野| 《我的美女老板》电视剧| 二年级数学下册期末测试卷| 电影《斯宾塞》| 日本大片ppt免费ppt电影| 程门立雪文言文| 上海东方卫视节目表| 我仍在此 电影|

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103