PHP实现权限管理功能示例

2018-09-07 13:49

阅读:339

  权限管理系统,它主要是为了给不同的用户设定不同的权限,从而实现不同权限的用户登录之后使用的功能不一样。

  首先先看下数据库

  总共有5张表,users,roles和roleswork 3张表与另外2张表形成w型的关系,也是比较常见的一种权限数据库的方式,首先先做权限的设定,也就是管理层给不同用户设定不同权限。

  1.管理员页面RBAC.php

   <!DOCTYPE html> <html> <head> <meta charset=UTF-8> <title>权限管理</title> <script src=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=确认 id=btn/> </body> <script> sel(); //选中默认角色 $(#user).change(function(){ //当用户选中变化的时候,去选中相应角色 sel(); }) //点击确定保存角色信息 $(#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(修改成功!); } }); }) //选中默认角色的封装方法exOf(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

  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>权限主页面</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>

  效果如图:

  以上就是小编为大家带来的PHP实现权限管理功能示例的全部内容了,希望大家喜欢哦~

  如果大家想了解更多游戏活动与游戏攻略,请持续关注本站,本站小编将在第一时间为大家带来最好看、最好玩、最新鲜的游戏资讯。更多精彩内容,尽在jb51游戏频道!


评论


亲,登录后才可以留言!