权限管理

一、登录页面

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
        }
    }
}

  

posted @ 2018-02-22 16:00  小孩坏坏  阅读(150)  评论(0编辑  收藏  举报