权限管理
一、登录页面
css样式
*{
margin:0px auto;
padding:0px;
}
#login{
background-color:#0CF;
width:30%;
height:200px;
margin-top:50px;
border:5px double #060;
}
#dl{
color:#00F;
background-color:#9FF;
height:30px;
text-indent:10px;
vertical-align:bottom;
line-height:30px;
}
#pwd{
background-color:#CFF;
height:70px;
}
#sb{
background-color:#060;
width:200px;
height:30px;
color:#CFF;
margin-top:3px;
}
布局
<body>
<form method="post" action="dengluchuli.php">
<div id="login">
<div align="left" id="dl">登录页面</div><br>
<div id="yhm" align="center">用户名:
<input type="text" placeholder="请输入用户名" name="uid"></div><br>
<div id="pwd" align="center">密 码:
<input type="password" placeholder="请输入密码" name="pwd"></div>
<div align="center"><input type="submit" value="登录" id="sb"></div>
</div>
</form>
</body>
登录处理页面
<?php
session_start();
require_once "../DBDA.class.php";
$db = new DBDA();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
$sql = "select pwd from users where uid = '{$uid}' ";
$mm = $db->strquery($sql);
var_dump($mm);
if(!empty($pwd) && $pwd = $mm){
$_SESSION["uid"] = $uid;
header("location:main.php");
}else{
header("location:denglu.php");
}

二、主界面
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
*{
margin:0px auto;
padding:0px;
}
#wai{
font-size:24px;
color:#060;
margin:60px;
}
#biao{
width:400px;
height:60px;
border:#00F 1px inset;
text-align:center;
font-size:36px;
font-weight:bold;
background-color:#060;
color:#CFF;
}
.lie{
width:400px;
border:#00F inset 1px;
text-align:center;
}
</style>
</head>
<body>
<?php
session_start();
if(empty($_SESSION["uid"])){
header("location:denglu.php");
exit;
}
?>
<div id="wai">
<div id="biao">拥有权限</div>
<?php
require_once "../DBDA.class.php";
$db = new DBDA();
$uid = $_SESSION["uid"];
$sql = "select name from rules where code in(select distinct ruleid from juesewithrules where jueseid in(select jueseid from userinjuese where userid='{$uid}'))";
$arr = $db->query($sql);
foreach($arr as $v){
echo"<div class='lie'>$v[0]</div>";
}
?>
</div>
</body>

三、管理界面
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="../jquery-1.11.2.min.js"></script>
<style type="text/css">
*{
margin:0px auto;
padding:0px;
}
#wai{
margin-top:60px;
}
#a{
background-color:#060;
color:#CFF;
font-size:30px;
text-align:center;
}
#a,#b,#c{
border:#00F inset 1px;
border-bottom-style:none;
width:40%;
height:36px;
vertical-align:middle;
line-height:36px;
font-weight:bold;
}
#d{
border:#00F inset 1px;
width:40%;
height:30px;
}
#user{
background-color:#060;
color:#CFF;
width:100px;
height:30px;
font-size:18px;
}
#btn{
background-color:#060;
color:#FFF;
width:100px;
height:30px;
margin-left:220px;
}
</style>
</head>
<body>
<div id="wai">
<div id="a">权限管理</div>
<div id="b">选择用户名: <select id="user">
<?php
require_once "../DBDA.class.php";
$db = new DBDA();
$sql = "select * from users";
$arr = $db->query($sql);
foreach($arr as $v){
echo "<option value='{$v[0]}'>{$v[2]}</option>";
}
?>
</select>
</div>
<div id="c">选择权限:
<?php
$sql = "select * from juese";
$arr = $db->query($sql);
foreach($arr as $v){
echo "<input class='ck' type='checkbox' value='{$v[0]}' /> {$v[1]}
";
};
?>
</div>
<div id="d">
<input type="button" value="确定" id="btn">
</div>
</div>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
xuanZhong();
$("#user").change(function(){
xuanZhong();
})
$("#btn").click(function(){
var uid = $("#user").val();
var str = "";
var ck = $(".ck");
for(var i=0;i<ck.length;i++){
if(ck.eq(i).prop("checked")){
str += ck.eq(i).val()+"|";
}
}
str = str.substr(0,str.length-1);
$.ajax({
url:"update.php",
data:{uid:uid,juese:str},
type:"POST",
dataType:"TEXT",
success: function(data){
alert("修改成功!");
}
});
})
});
function xuanZhong(){
var uid = $("#user").val();
$.ajax({
url:"chuli.php",
data:{uid:uid},
type:"POST",
dataType:"TEXT",
success: function(data){
var lie = data.split("|");
var ck = $(".ck");
ck.prop("checked",false);
for(var i=0;i<ck.length;i++){
var v = ck.eq(i).val();
if(lie.indexOf(v)>=0){
ck.eq(i).prop("checked",true);
}
}
}
});
}
</script>
</html>
复选框默认选中处理页面
<?php
require_once "../DBDA.class.php";
$db = new DBDA();
$uid = $_POST["uid"];
$sql = "select jueseid from userinjuese where userid='{$uid}'";
echo $db->strquery($sql);

修改处理页面
<?php
require_once "../DBDA.class.php";
$db = new DBDA();
$uid = $_POST["uid"];
$juese = $_POST["juese"];
$sql = "delete from userinjuese where userid='{$uid}'";
$db->query($sql,1);
$arr = explode("|",$juese);
foreach($arr as $v){
$sql = "insert into userinjuese values(0,'{$uid}','{$v}')";
$db->query($sql,1);
}

DBDA.class.php
<?php
class DBDA{
public $host="localhost"; //服务器地址
public $uid="root"; //用户名
public $pwd="123"; //密码
public $dbname="crud"; //数据库名称
/*
执行一条SQL语句的方法
@param sql 要执行的SQL语句
@param type SQL语句的类型,0代表查询 1代表增删改
@return 如果是查询语句返回二维数组,如果是增删改返回true或false
*/
public function query($sql,$type=0){
$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
$result = $db->query($sql);
if($type){
return $result;
}else{
return $result->fetch_all();
}
}
public function strquery($sql,$type=0){
$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
$result = $db->query($sql);
if($type){
return $result;
}else{
$arr = $result->fetch_all();
$str = "";
foreach($arr as $v){
$str .= implode("^",$v)."|";
}
$str = substr($str,0,strlen($str)-1);
return $str;
}
}
//返回json数据的方法
public function jsonquery($sql,$type=0){
$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
$result = $db->query($sql);
if($type){
return $result;
}else{
$arr = $result->fetch_all(MYSQLI_ASSOC);//关联数组
return json_encode($arr);//转换json
//json_decode()分解json
}
}
}
浙公网安备 33010602011771号