PHP 权限管理及主页面

<style type="text/css">
*
{
    margin:0px auto;
    padding:0px;
}
.biao
{
    padding-left:550px;
    padding-top:30px;
}
#menu
{
    padding-left:200px;
    padding-top:20px;
    height:35px;
}
.list
{
    width:120px;
    height:35px;
    margin-left:5px;
    background-color:#F9C;
    color:white;
    font-family:"黑体";
    font-size:16px;
    font-weight:bold;
    text-align:center;
    line-height:35px;
    vertical-align:middle;
    float:left;
}
</style>
</head>
<?php
session_start();
include("../dbda.php");
$db=new DBDA();

if(empty($_SESSION["uid"]))
{
    header("location:login.php");
    exit;
}
$uid=$_SESSION["uid"];

//根据用户名查用户对应角色表,找到相应的角色代号
$sjs="select jueseid from userinjuese where userid='{$uid}'";
$attr=$db->Query($sjs);

//根据角色代号查找功能
$gn=array();//存放功能的二维数组
$onegn=array();//存放功能的一维数组

foreach($attr as $v)
{
    $sgn="select ruleid from juesewithrules where jueseid='{$v[0]}'";
    $agn=$db->Query($sgn);
    $gn=array_merge($gn,$agn);
}

//将$gn二维数组转化为$onegn一维数组
foreach($gn as $v)
{
    $onegn[]=$v[0];
}
//对功能的以为数组进行去重
$onegn=array_unique($onegn);
?>
<body>
<div class="biao">
    <h1>主页面</h1><br />
</div>
<div id="menu">
    <?php
        foreach($onegn as$v)
        {
            $sname="select name from rules where code='{$v}'";
            $name=$db->strquery($sname);
            echo"<div class='list'>{$name}</div>";
        }
    ?>
</div>

                                 

guanli.php

<script src="../jquery-1.11.2.min.js"></script>
<style type="text/css">
.biao
{
    padding-left:400px;
    padding-top:30px;
}
.div
{
    padding-left:400px;
    padding-top:20px;
}
.but
{
    padding-top:30px;
    padding-left:900px;
}
</style>
<?php
include("../dbda.php");
$db=new DBDA();

//查询用户表,查出所有数据
$suser="select * from users";
$auser=$db->Query($suser);

//查询角色表,查出所有数据
$sjuese="select *from juese";
$ajuese=$db->Query($sjuese);
?>
</head>

<body>
<div class="biao">
    <h1>权限管理:用户对应角色管理</h1>
</div>
<div class="div">
    <div>
        请选择用户:
        <select id="user"> 
            <?php
                foreach($auser as $v)
                {
                    echo"<option value='{$v[0]}'>{$v[2]}</option>";    
                }
            ?>
        </select>
    </div>
    <br />
    <div>
        请选择相应的角色:
        <?php
            foreach($ajuese as $v)
            {
                echo"<input type='checkbox' class='juese' value='{$v[0]}'/>{$v[1]}&nbsp;&nbsp;";    
            }
        ?>
    </div>
</div>
<br />
<div class="but">
    <input type="button" value="保存" id="btn" />
</div>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
    
    //调用JSChecked方法
        JSChecked();
        
    $("#btn").click(function(){
        
        //取人员选中值
        var uid=$("#user").val();
        
        //先找到所有的复选框
        var ck=$(".juese");
        
        var js="";
        
        //再取复选框的所有选中值
        for(var i=0;i<ck.length;i++)
        {
            //判断有没有选中
            if(ck[i].checked)
            {
                //取选中的value值
                js=js+ck.eq(i).val()+"|";    
            }
        }
        //去掉最后的|
        js=js.substr(0,js.length-1);
        
        $.ajax({
            url:"guanlicl.php",
            data:{uid:uid,js:js},
            type:"POST",
            dataType:"TEXT",
            success: function(data){
                    if(data.trim()=="ok")
                    {
                        alert("添加成功");
                    }
                    else
                    {
                        alert("添加失败");    
                    }
                }
            });
        })
    $("#user").change(function(){
            JSChecked();
        })
});
function JSChecked()
{
    //取选中的用户名
        var uid=$("#user").val();
        
        $.ajax({
            url:"uchajs.php",
            data:{uid:uid},
            type:"POST",
            dataType:"TEXT",
            success: function(data){
                
                    //清空原有选中信息
                    $(".juese").prop("checked",false);
                
                    //拆分一下data,得到该人员所拥有的角色代号
                    var attr=data.split("|");
                    
                    //找到所有的复选框
                    var ck=$(".juese");
                    
                    //遍历每个复选框,设置选中
                    for(var i=0;i<ck.length;i++)
                    {
                        //ck.eq(i)可以取到每个具体的复选框,再.val()可以取到里面的value值
                        var dh=ck.eq(i).val();
                        
                        //$.inArray(dh,attr)判断元素是否在数组中,如果在返回所在位置的索引,如果不在返回-1
                        if($.inArray(dh,attr)>=0)
                        {
                            ck.eq(i).prop("checked",true);
                        }
                    }
                }
            });    
}
</script>

 guanlicl.php

<?php
include("../dbda.php");
$db=new dbda();

$uid=$_POST["uid"];
$juese=$_POST["js"];
//将传入的角色字符串拆分为数组
$attr=explode("|",$juese);

//删除原数据
$sdel="delete from userinjuese where userid='{$uid}'";
$db->Query($sdel,1);

//循环添加数据
foreach($attr as $v)
{
    $sql="insert into userinjuese values('','{$uid}','{$v}')";
    $db->Query($sql,1);
}

echo"ok";

 uchajs.php

<?php
include("../dbda.php");
$db=new DBDA();

$uid= $_POST["uid"];
//根据用户名查角色代号
$sql="select jueseid from userinjuese where userid='{$uid}'";
echo $db->strquery($sql);

 

posted @ 2016-07-14 10:07  Yao1101  阅读(2745)  评论(1编辑  收藏  举报