<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="../jquery-1.11.2.min.js"></script> </head> <body> <?php include("../DBDA.class.php"); $db=new DBDA(); $sname="select * from user"; $yonghu=$db->Query($sname); $squan="select * from juese"; $quanxian=$db->Query($squan); ?> <h1>权限管理</h1> <div>请选择用户: <select id="user"> <?php foreach($yonghu as $v) { echo "<option value='{$v[0]}'>{$v[2]}</option>"; } ?> </select> </div> <br /> <div>请选择权限: <?php foreach($quanxian as $v) { echo "<input type='checkbox' class='juese' value='{$v[0]}' />{$v[1]} "; } ?> </div><br /> <div><input type="button" value="保存" id="btn" /></div> </body> <script type="text/javascript"> $(document).ready(function(e) { JSchecked(); $("#btn").click(function(){ //取人员的选中值 var uid=$("#user").val(); //取复选框的所有选中值 var ck=$(".juese"); var js=""; for(var i=0;i<ck.length;i++) { //ck.eq(i).prop("checked"); //判断是否选中 if(ck[i].checked) { js=js+ck.eq(i).val()+"|"; } } js=js.substr(0,js.length-1); $.ajax({ url:"qxdeal.php", data:{uid:uid,js:js}, type:"POST", dataType:"TEXT", success: function(data){ if(data.trim()=="ok") { alert("添加成功"); } else { alert("添加失败"); } } }); }) $("#user").change(function(){ JSchecked(); }) }); function JSchecked() { //取选中的用户名 var uid=$("#user").val(); $.ajax({ url:"chajsdeal.php", data:{uid:uid}, type:"POST", dataType:"TEXT", success: function(data){ //清空原有选中信息 $(".juese").prop("checked",false); //找到该人员对应的角色代号 var attr=data.split("|"); //找到所有的checkbox var ck=$(".juese"); for(var i=0;i<ck.length;i++) { var dh=ck.eq(i).val(); //$.inArray(dh,attr)判断元素是否在数组中,如果在,返回所在位置的索引,如果不在,返回-1。确定第一个参数在数组中的位置(如果没有找到则返回 -1 ) if($.inArray(dh,attr)>=0) { ck.eq(i).prop("checked",true); } } } }); } </script> </html>
<?php include("../DBDA.class.php"); $db=new DBDA(); $uid=$_POST["uid"]; $juese=$_POST["js"]; //将传入的角色字符串拆分为数组 $attr=explode("|",$juese); //删除原数据 $sdel="delete from userinjuese where UserId='{$uid}'"; $db->Query($sdel,0); //循环添加数据 foreach($attr as $v) { $sql="insert into userinjuese values('','{$uid}','$v')"; $db->Query($sql,0); } echo "ok";
<?php include("../DBDA.class.php"); $db=new DBDA(); $uid=$_POST["uid"]; $sql="select JueSeId from userinjuese where UserId='{$uid}'"; echo $db->StrQuery($sql);
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> *{ margin:0px auto; padding:0px} #menu{ 80%; height:35px} .list{ 120px; height:35px; margin-left:5px; background-color:#39C; color:#CCC; font-family:"微软雅黑"; font-size:25px; text-align:center; line-height:35px; vertical-align:middle; float:left} </style> </head> <?php session_start(); include("../DBDA.class.php"); $db=new DBDA(); if(empty($_SESSION["uid"])) { header("location:login.php"); exit; } $uid=$_SESSION["uid"]; //根据用户名查用户对应角色表,找到相应的角色代号 $sjs="select JueSeId from userinjuese where UserId='{$uid}'"; $attr=$db->Query($sjs); //根据角色代号查找功能 $gn=array();//存放功能的二维数组 $onegn=array();//存放功能的一维数组 foreach($attr as $v) { $sgn="select ruleid from juesewithrules where jueseid='{$v[0]}'"; $agn=$db->Query($sgn); $gn=array_merge($gn,$agn); } //将二维数组转化为一维数组 foreach($gn as $v) { $onegn[]=$v[0];//array_push(); } //对功能的一维数组进行去重 $onegn=array_unique($onegn); ?> <body> <h1>主页面</h1> <div id="menu"> <?php foreach($onegn as $v) { $sname="select name from rules where code='{$v}'"; $name=$db->StrQuery($sname); echo "<div class='list'>{$name}</div>"; } ?> </div> </body> </html>
权限管理:rbac
用户表
用户对应角色表
角色表
角色对应功能表
功能表
用户:张三,李四
角色:前台,财务,市场
功能:咨询登记,面试,报表分析,财务统计