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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM