权限管理(0527)

权限管理:

一、

登录页面:login.php

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>无标题文档</title>
 6 </head>
 7 
 8 <body>
 9 <br />
10 <h1>登录页面</h1>
11 <br />
12 <form action="loginchu.php" method="post">
13 <div>用户名:<input type="text" name="uid" /></div><br />
14 <div>密&nbsp;&nbsp;码:<input type="text" name="psw" /></div><br />
15 <input type="submit" value="登录" />
16 
17 </form>
18 </body>
19 </html>
View Code

登录处理页面:loginchu.php

 1 <?php
 2 session_start();
 3 $uid=$_POST["uid"];
 4 $psw=$_POST["psw"];
 5 
 6 include ("../DBDA.class.php");
 7 $db=new DBDA();
 8 //查找有无这条信息
 9 $sql="select count(*) from users where UserName='{$uid}' and Password='{$psw}'";
10 
11 $r=$db->StrQuery($sql);
12 
13 if($r==1)
14 {
15     $_SESSION["uid"]=$uid;
16     header("location:main.php");
17     }
18 else
19 {
20     header("location:login.php");
21     }
View Code

登录页面显示:

二、

权限管理页面:quanxian.php

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5 <title>权限管理</title>
  6 <script src="../jquery-1.11.2.min.js"></script>
  7 </head>
  8 
  9 <body>
 10 <h1>权限管理</h1><br />
 11 <div>用户管理:
 12     <select id="sel">
 13         <?php
 14         //查找用户信息
 15         include("../DBDA.class.php");
 16         $db=new DBDA();
 17         $sql="select * from users";
 18         $attr=$db->Query($sql);
 19         foreach($attr as $v)
 20         {
 21             echo "<option value='{$v[0]}'>{$v[2]}</option>";
 22             }
 23         ?>
 24     </select>
 25 </div><br /><br />
 26 
 27 <div>请选择角色:
 28     <div><br />
 29     <?php
 30     //查找角色务信息:
 31     $sqljs="select * from juese";
 32     $attrjs=$db->Query($sqljs);
 33     foreach($attrjs as $vjs)
 34     {
 35         echo "<input type='checkbox' class='js' value='{$vjs[0]}'>{$vjs[1]}";
 36         }
 37     
 38     ?>
 39     </div><br />
 40 </div><br />
 41 <input type="button" id="qd" value="确定" />
 42 
 43 </body>
 44 <script type="text/javascript">
 45 $(document).ready(function(e) {
 46     
 47         ShowJueSe();
 48     //选择用户后出现对应的角色
 49     $("#sel").change(function(){
 50         
 51             ShowJueSe();
 52         })
 53     function ShowJueSe()
 54     {
 55             //查找用户
 56         var uid=$("#sel").val();
 57         $.ajax({
 58             url:"juese.php",
 59             data:{uid:uid},
 60             type:"POST",
 61             dataType:"TEXT",
 62             success: function(data){
 63                 //处理传过来的角色代号
 64                 var shuju=data.split("|");
 65                 //取所有的角色
 66                 var ck=$(".js");
 67                 
 68                 //清除前面的选中内容
 69                 ck.prop("checked",false);
 70                 
 71                 for(var i=0;i<ck.length;i++)
 72                 {
 73                     
 74                     var v=ck.eq(i).val();
 75                     //取出的值是否在shuju
 76                     //$.inArray($v,shuju);确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。 
 77                     if($.inArray(v,shuju)>=0)//如果值在shuju中
 78                     {
 79                         //取得值选中
 80                         ck.eq(i).prop("checked",true);
 81                     }    
 82                 }
 83                 
 84                 }
 85             
 86             });
 87             
 88             
 89         }
 90     
 91     
 92     
 93     //点击确定提交添加或修改
 94     $("#qd").click(function(){
 95         var uid=$("#sel").val();
 96         var ck=$(".js");
 97         var str="";
 98         for(var i=0;i<ck.length;i++)
 99         {
100             //取选中的角色
101             if(ck.eq(i).prop("checked"))
102             {
103                 //拼接成字符串,并用“|”分割。“+”是拼接符
104                 str=str+ck.eq(i).val()+"|";
105                 }
106             }
107             //截取字符串,去掉最后的“|”
108         str=str.substr(0,str.length-1);
109         $.ajax({
110             url:"chuli.php",
111             data:{uid:uid,juese:str},
112             type:"POST",
113             dataType:"TEXT",
114             success: function(data){
115                 
116                 if(data.trim()=="OK")
117                 {
118                     alert("操作成功!");
119                     }
120                 else
121                 {
122                     alert("操作失败!");
123                     }
124                                 
125                 }
126                         
127             });
128         
129         })
130     
131 });
132 </script>
133 
134 
135 </html>
View Code

选择用户角色:juese.php

1 <?php
2 $uid=$_POST["uid"];
3 
4 include("../DBDA.class.php");
5 $db=new DBDA();
6 
7 //根据用户查找对应的角色
8 $sql="select JueSeId from UserInJueSe where UserId='{$uid}'";
9 echo $db->StrQuery($sql);
View Code

选择好后提交处理页面:chuli.php

 1 <?php
 2 include("../DBDA.class.php");
 3 $db=new DBDA();
 4 
 5 $uid=$_POST["uid"];
 6 $js=$_POST["juese"];
 7 //拆分字符串
 8 $juese=explode("|",$js);//输出的是数组
 9 //判断以下条件是否全部执行成功
10 $bs=true;//先定义一个变量为真
11 //如果原来有记录的全部清空后在重新添加
12 //清空原来的信息
13 $del="delete from UserInJueSe where UserId ='{$uid}'";
14 if(!$db->Query($del,1))
15 {
16     $bs=$bs && false;//若执行失败,返回false    
17     }
18 
19 foreach($juese as $v)
20 {
21     //添加信息
22     $sql="insert into UserInJueSe values                 ('','{$uid}','{$v}')";
23     if(!$db->Query($sql,1))
24     {
25         $bs=$bs && false;//若执行失败,返回false    
26         }
27     
28     }
29 
30 if($bs)
31 {
32     echo "OK";
33     }
34 else
35 {
36     echo "NO";
37     }
View Code

运行权限管理:

三、

主页面:main.php

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>主页面</title>
 6 <style type="text/css">
 7 *{
 8     margin:0px auto;
 9     padding:0px;
10     }
11 #menu{
12     width:70%;
13     height:40px;
14     margin-left:300px;
15     }
16 .aa{
17     width:100px;
18     height:40px;
19     background-color:#8080FF;
20     color:white;
21     font-size:18px;
22     text-align:center;
23     line-height:40px;
24     vertical-align:middle;
25     float:left;
26     }
27 .aa:hover{    
28     cursor:pointer;
29     background-color:#FF8080;}
30 
31 </style>
32 </head>
33 
34 <body>
35 <?php
36 session_start();
37 if(empty($_SESSION["uid"]))
38 {    
39     header("location:login.php");
40     exit;
41     }
42 $uid=$_SESSION["uid"];
43 include("../DBDA.class.php");
44 $db=new DBDA();    
45 ?>
46 <br />
47 <br />
48 
49 <center><h1>主页面</h1></center>
50 <div style="margin-right:150px; width:100px; height:10px;">
51 <a href="login.php">退出 <?php echo $uid; ?></a>
52 </div>
53 <br />
54 <div id="menu">
55 <div class="aa">管理权限</div>
56     <?php
57     
58     //根据用户名找到所对应的角色代号
59     $sql="select JueSeId from UserInJueSe where UserId ='{$uid}'";
60     $sd=$db->Query($sql);//结果是数组,存到
61     
62     //根据角色代号找到对应的功能
63     $all=array();//存储该用户所有的功能代号
64     
65     foreach($sd as $vsd)
66     {
67         $sgn="select RuleId from JueSeWithRules where JueSeId='{$vsd[0]}'";
68         $agn=$db->Query($sgn);
69         foreach($agn as $vgn)
70         {
71             array_push($all,$vgn[0]);
72             
73             }
74         }
75         $all=array_unique($all);//移除数组中重复的值array_unique()
76         
77         
78         //显示菜单
79         foreach($all as $vall)
80         {
81             $smn="select Name from Rules where code='{$vall}'";
82             $name=$db->StrQuery($smn);
83             echo "<div class='aa'>{$name}</div>";
84             }
85         
86 
87     ?>
88 </div>
89 </body>
90 </html>
View Code

运行主页面:

posted @ 2016-05-30 10:23  陌上初薰  阅读(297)  评论(0编辑  收藏  举报