PHP 权限管理及主页面
- <style type="text/css">
- *
- {
- margin:0px auto;
- padding:0px;
- }
- .biao
- {
- padding-left:550px;
- padding-top:30px;
- }
- #menu
- {
- padding-left:200px;
- padding-top:20px;
- height:35px;
- }
- .list
- {
- width:120px;
- height:35px;
- margin-left:5px;
- background-color:#F9C;
- color:white;
- font-family:"黑体";
- font-size:16px;
- font-weight:bold;
- text-align:center;
- line-height:35px;
- vertical-align:middle;
- float:left;
- }
- </style>
- </head>
- <?php
- session_start();
- include("../dbda.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);
- }
- //将$gn二维数组转化为$onegn一维数组
- foreach($gn as $v)
- {
- $onegn[]=$v[0];
- }
- //对功能的以为数组进行去重
- $onegn=array_unique($onegn);
- ?>
- <body>
- <div class="biao">
- <h1>主页面</h1><br />
- </div>
- <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>
guanli.php
- <script src="../jquery-1.11.2.min.js"></script>
- <style type="text/css">
- .biao
- {
- padding-left:400px;
- padding-top:30px;
- }
- .div
- {
- padding-left:400px;
- padding-top:20px;
- }
- .but
- {
- padding-top:30px;
- padding-left:900px;
- }
- </style>
- <?php
- include("../dbda.php");
- $db=new DBDA();
- //查询用户表,查出所有数据
- $suser="select * from users";
- $auser=$db->Query($suser);
- //查询角色表,查出所有数据
- $sjuese="select *from juese";
- $ajuese=$db->Query($sjuese);
- ?>
- </head>
- <body>
- <div class="biao">
- <h1>权限管理:用户对应角色管理</h1>
- </div>
- <div class="div">
- <div>
- 请选择用户:
- <select id="user">
- <?php
- foreach($auser as $v)
- {
- echo"<option value=\'{$v[0]}\'>{$v[2]}</option>";
- }
- ?>
- </select>
- </div>
- <br />
- <div>
- 请选择相应的角色:
- <?php
- foreach($ajuese as $v)
- {
- echo"<input type=\'checkbox\' class=\'juese\' value=\'{$v[0]}\'/>{$v[1]} ";
- }
- ?>
- </div>
- </div>
- <br />
- <div class="but">
- <input type="button" value="保存" id="btn" />
- </div>
- </body>
- <script type="text/javascript">
- $(document).ready(function(e) {
- //调用JSChecked方法
- JSChecked();
- $("#btn").click(function(){
- //取人员选中值
- var uid=$("#user").val();
- //先找到所有的复选框
- var ck=$(".juese");
- var js="";
- //再取复选框的所有选中值
- for(var i=0;i<ck.length;i++)
- {
- //判断有没有选中
- if(ck[i].checked)
- {
- //取选中的value值
- js=js+ck.eq(i).val()+"|";
- }
- }
- //去掉最后的|
- js=js.substr(0,js.length-1);
- $.ajax({
- url:"guanlicl.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:"uchajs.php",
- data:{uid:uid},
- type:"POST",
- dataType:"TEXT",
- success: function(data){
- //清空原有选中信息
- $(".juese").prop("checked",false);
- //拆分一下data,得到该人员所拥有的角色代号
- var attr=data.split("|");
- //找到所有的复选框
- var ck=$(".juese");
- //遍历每个复选框,设置选中
- for(var i=0;i<ck.length;i++)
- {
- //ck.eq(i)可以取到每个具体的复选框,再.val()可以取到里面的value值
- var dh=ck.eq(i).val();
- //$.inArray(dh,attr)判断元素是否在数组中,如果在返回所在位置的索引,如果不在返回-1
- if($.inArray(dh,attr)>=0)
- {
- ck.eq(i).prop("checked",true);
- }
- }
- }
- });
- }
- </script>
guanlicl.php
- <?php
- include("../dbda.php");
- $db=new dbda();
- $uid=$_POST["uid"];
- $juese=$_POST["js"];
- //将传入的角色字符串拆分为数组
- $attr=explode("|",$juese);
- //删除原数据
- $sdel="delete from userinjuese where userid=\'{$uid}\'";
- $db->Query($sdel,1);
- //循环添加数据
- foreach($attr as $v)
- {
- $sql="insert into userinjuese values(\'\',\'{$uid}\',\'{$v}\')";
- $db->Query($sql,1);
- }
- echo"ok";
uchajs.php
- <?php
- include("../dbda.php");
- $db=new DBDA();
- $uid= $_POST["uid"];
- //根据用户名查角色代号
- $sql="select jueseid from userinjuese where userid=\'{$uid}\'";
- echo $db->strquery($sql);