PHP——小尾巴之权限管理

Posted Chen_s

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP——小尾巴之权限管理相关的知识,希望对你有一定的参考价值。

流程:

在权限管理页面,默认显示用户的角色,更改复选框的按钮内容,可以改变角色,点击确定提交至数据库

在登陆之后,只显示该用户的角色所对应的权限

技术分享

 

技术分享

技术分享

数据库:

技术分享

 

技术分享

 

技术分享

技术分享

技术分享

guanli.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="../jquery-1.11.2.min.js"></script>
</head>

<body>
<h1>权限管理</h1>
<div>请选择用户:
<select id="user">
<?php
    include("../mydbda.php");
    $db = new mydbda();
    $sqlu = "select * from Users";
    $str = $db->Select($sqlu,"CX","mydb");
    $hangu = explode("|",$str);
    for($i=0;$i<count($hangu);$i++)
    {
        list($uid,$pwd,$name) = explode("^",$hangu[$i]);
        echo "<option value=‘{$uid}‘>{$name}</option>";
    }
?>
</select></div><br />

<div>请选择角色:</div><br />

<div>
<?php
    
    $sqlj = "select * from JueSe";
    $strj = $db->Select($sqlj,"CX","mydb");
    $hangj = explode("|",$strj);
    for($i=0;$i<count($hangj);$i++)
    {
        list($code,$name) = explode("^",$hangj[$i]);
        echo "<input type=‘checkbox‘ class=‘juese‘ value=‘{$code}‘ />{$name}&nbsp;";
    }
    
?>

</div><br />
<div><input type="button" id="sure" value="确定"/></div>
</body>
<script type="text/javascript">
$(document).ready(function(e) {

    Xianshi($("#user").val());
    
    //选中用户,显示其角色
    $("#user").change(function(){
        
            var uid =$(this).val();
            
            Xianshi(uid);
        
        })
        
        function Xianshi(uid)
        {
            var ckall = $(".juese");
            for(var j=0;j<ckall.length;j++)
            {
                ckall.removeAttr("checked");
                //ckall.attr("checked","false");
                //document.getElementById().setAttribute(
            }
            
            $.ajax({
                
                    url:"chulijuese.php",
                    data:{uid:uid},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                            if(!data == "")
                            {
                                var hang = data.split("|");
                                for(var i=0;i<hang.length;i++)
                                {
                                    var lie = hang[i].split("^");
                                    var ck = $(".juese");

                                    
                                    for(var j=0;j<ck.length;j++)
                                    {
                                        if(ck.eq(j).val() == lie[2])
                                        {
                                            ck.eq(j).prop("checked","true");
                                        }
                                        
                                    }
                                }
                            }
        
                        }
                
                });
        }
        
        //添加按钮
        $("#sure").click(function(){
            
                var uid = $("#user").val();
                var ck = $(".juese");
                var str = "";
                for(var j=0;j<ck.length;j++)
                {
                    if(ck.eq(j)[0].checked == true)
                    {
                        str = str + ck.eq(j).val()+"|";
                    }
                }    
                
                str = str.substr(0,str.length-1);
                
                $.ajax({
                        
                        url:"chuliadd.php",
                        data:{uid:uid,str:str},
                        type:"POST",
                        dataType:"TEXT",
                        success: function(data){
                                
                                if(data == "OK")
                                {
                                    alert("操作成功!");
                                }
                            
                            }
                    
                    });
            
            })
    
});

</script>
</html>

chuliadd.php

<?php
    include("../mydbda.php");
    $db = new mydbda();
    $uid = $_POST["uid"];
    $str = $_POST["str"];
    
    $sqld = "delete from UserInJueSe where UserId = ‘{$uid}‘";
    $jg = $db->Select($sqld,"QT","mydb");
    
    if($jg == "OK")
    {
        $juese = explode("|",$str);
        
        for($i=0;$i<count($juese);$i++)
        {
            $sql = "insert into UserInJueSe values(‘‘,‘".$uid."‘,‘".$juese[$i]."‘)";
            $db->Select($sql,"QT","mydb");
        }
        
        echo "OK";
    }
    
?>

chulijuese.php

<?php
    include("../mydbda.php");
    $uid = $_POST["uid"];
    $sql = "select * from UserInJueSe where UserId = ‘{$uid}‘";
    $db = new mydbda();
    $str = $db->Select($sql,"CX","mydb");
    
    echo $str;
    
?>

denglu.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<h1>登录</h1>
<form action="main.php" method="post">
<div>用户名:<input type="text" name="uid"/></div>
<div>密码:<input type="text" name="pwd"/></div>
<input type="submit"  value="登录"/>
</form>
</body>
</html>

main.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<h1>主页面</h1>
<?php
    include("../mydbda.php");
    $db = new mydbda();
    $uid = $_POST["uid"];
    $pwd = $_POST["pwd"];
    
    $sql = "select count(*) from Users where Uid =‘".$uid."‘ and Pwd = ‘".$pwd."‘";
    $str = $db->Select($sql,"CX","mydb");
    if($str == 1)
    {
    }
    else
    {
        header("Location:denglu.php");
    }
    
?>

<div style="width:100%; height:35px; background-color:#60F; color:white; font-size:20px;">
    
    <div style="width:150px; height:35px; vertical-align:middle; line-height:35px; float:left; text-align:center;">权限管理</div>
    
    <?php
    
        $sqlj = "select * from UserInJueSe where UserId = ‘{$uid}‘";
        $strj = $db->Select($sqlj,"CX","mydb");
        
        $hangj = explode("|",$strj);
        $xianshi = array();
        for($i=0; $i<count($hangj);$i++)
        {
            $liej = explode("^",$hangj[$i]);
            
            $sqlr = "select RuleId from JueSeWithRules where JueSeId = ‘".$liej[2]."‘";
            
            $strr = $db->Select($sqlr,"CX","mydb");
            
            $hangr = explode("|",$strr);
            
            $xianshi = array_merge($xianshi,$hangr);//合并数组
        }
        
        $xianshi = array_unique($xianshi); //去重
        
        for($i=0; $i<count($xianshi);$i++)
        {
            $sqlname = "select * from Rules where Code = ‘".$xianshi[$i]."‘";
            
            $strname = $db->Select($sqlname,"CX","mydb");
            
            list($code,$name) = explode("^",$strname);
            
            echo "<div style=‘width:150px; height:35px; vertical-align:middle; line-height:35px; float:left; text-align:center;‘>{$name}</div>";
            
            
        }
        
        
    
    ?>
    
    
</div>


</body>
</html>

 

以上是关于PHP——小尾巴之权限管理的主要内容,如果未能解决你的问题,请参考以下文章

php权限管理如何实现

Oracle-常用数据库对象笔记(片段)

php后台多用户权限组思路与实现程序代码

JS+JavaBean判断管理员增删改的操作权限

PHP Wordpress - 删除更新唠叨和版本给所有人,但管理员(2个片段)

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段