权限管理和主页面
一、权限管理
1.前端页面显示:
<body> <h1>权限管理</h1> <div>请选择用户: <select id="user"> <?php include("../DBDA.class.php"); $db=new DBDA(); $sql="select * from user"; $attr=$db->Query($sql); foreach($attr as $v) { echo "<option value='{$v[0]}'>{$v[2]}</option>"; } ?> </select> </div> <br /> <div> <div>请选择角色:</div> <div> <?php $sqljs="select * from juese"; $attrjs=$db->Query($sqljs); foreach($attrjs as $v) { echo "<input class='js' type='checkbox' value='{$v[0]}'/>{$v[1]} "; } ?> </div> </div> <br /> <div> <input type="button" value="确定" id="btn"/> </div> </body>
2.ajax自动显示用户角色jq代码
ShowJueSe();
$("#user").change(function(){ ShowJueSe(); });
function ShowJueSe() { var uid=$("#user").val(); $.ajax({ url:"seljuese.php", data:{uid:uid}, type:"POST", dataType:"TEXT", success:function(data){ var shuju=data.split("|"); var ck=$(".js"); ck.prop("checked",false); for(var i=0;i<ck.length;i++) { var v=ck.eq(i).val(); //var z=$.inArray(v,shuju);//$.inArray()判断v是否在数组shuju中,没有返回-1,有就返回索引号 if($.inArray(v,shuju)>=0) { ck.eq(i).prop("checked",true); } } } }); }
3.ajax自动显示角色函数中处理的后端代码seljuese.php
<?php include("../DB.class.php"); $db=new DB(); $uid=$_POST["uid"]; $sql="select JueSeId from UserInJueSe where UserId = '{$uid}'"; $a=$db->StrQuery($sql); echo $a;
4.点击确定按钮,添加角色jq代码
$("#btn").click(function(){ var uid=$("#user").val(); var ck=$(".js"); var str=""; for(var i=0;i<ck.length;i++) { if(ck.eq(i).prop("checked")) { str=str+ck.eq(i).val()+"|"; } } str=str.substr(0,str.length-1); $.ajax({ url:"add.php", data:{uid:uid,juese:str}, type:"POST", dataType:"TEXT", success:function(data){ if(data.trim()=="OK") { alert("添加成功!"); } else { alert("添加失败!"); } } }); });
5.添加角色后端处理代码add.php
<?php include("../DBDA.class.php"); $db=new DBDA(); $uid=$_POST["uid"]; $js=$_POST["juese"]; $juese=explode("|",$js); $bs=true; //清空该用户具有的所有角色 $sqldel="delete from UserInJueSe where UserId = '{$uid}' "; $z=$db->Query($sqldel,1); if(!$z) { $bs=$bs && false; } //添加角色信息 foreach($juese as $v) { $sql="insert into userinjuese values('','{$uid}','{$v}')"; $r=$db->Query($sql ,1); if(!$r) { $bs=$bs && false; } } if($bs) { echo "OK"; } else { echo "NO"; }
二、主页面
登陆
主页面导航栏显示
前端显示和处理代码
<?php session_start(); if(empty($_SESSION["uid"])) { header("location:login.php"); exit; } $uid=$_SESSION["uid"]; include("../DBDA.class.php"); $db=new DBDA(); ?> <title>无标题文档</title> <style type="text/css"> * { margin:0px auto; padding:0px; } #menu { width:100%; height:40px; } .cd { width:100px; height:40px; background-color:#3FF; color:#FFF; font-size:18PX; text-align:center; line-height:40px; vertical-align:middle; float:left; } .cd:hover { background-color:#F00; cursor:pointer; } </style> </head> <body> <br /> <br /> <center><h1>主页面</h1></center> <br /> <a href="login.php">退出</a> <br /> <br /> <div id="menu"> <div class="cd">权限管理</div> <?php //根据用户名找到所对应的角色代号 $sjs="select jueseid from userinjuese where userid='{$uid}'"; $ajs=$db->Query($sjs); //根据角色代号找到所对应的功能代号 $all=array();//存储该用户所有的功能代号 foreach($ajs as $vjs) { $sgn="select ruleid from juesewithrules where jueseid='{$vjs[0]}'"; $agn=$db->Query($sgn); foreach($agn as $vgn) { array_push($all,$vgn[0]); } } $all=array_unique($all); //根据功能代号显示功能 foreach($all as $vall) { $sn="select name from rules where code='{$vall}'"; $name=$db->StrQuery($sn); echo "<div class='cd'>{$name}</div>"; } ?> </div> </body>