权限管理(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>密 码:<input type="text" name="psw" /></div><br /> 15 <input type="submit" value="登录" /> 16 17 </form> 18 </body> 19 </html>
登录处理页面: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 }
登录页面显示:
二、
权限管理页面: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>
选择用户角色: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);
选择好后提交处理页面: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 }
运行权限管理:
三、
主页面: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>
运行主页面: