权限练习

自己写的过程中卡了几卡,问题都是粗心不仔细的造成的,一定要细心的说……

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="dlchuli.php" method="post">
<div>请输入用户名:<input type="text" name="uid"/></div><br />

<div>请输入密码:&nbsp;&nbsp;<input type="text" name="pwd" /></div><br />

<div><input type="submit" value="登录"/></div>
</form>
</body>
</html>

dlchulu.php

<?php
session_start();
$uid=$_POST["uid"];
$pwd=$_POST["pwd"];

include("ChaXun.class.php");
$db=new ChaXun();
$sql="select count(*) from users where username='{$uid}' and password='{$pwd}'";
$r=$db->StrQuery($sql);
if($r==1)
{
    $_SESSION["uid"]=$uid;
    header("location:main.php");
}
else
{
    header("location:denglu.php");
}

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>
<style type="text/css">
*{
    margin:0px;
    padding:0px;
 }
 #menu{
     width:100%;
     height:40px;     
     }
 .qx{
     width:100px;
     height:40px;
     line-height:40px;
     font-size:18px;
     text-align:center;
     vertical-align:middle;
     background-color:#FFE1FF;
     color:#666;
     float:left;
     }
.qx:hover{
    background-color:#FF0;
    color:#000;
    cursor:pointer;    
    }
</style>
</head>

<body>
<?php
session_start();
if(empty($_SESSION["uid"]))
{
    header("location:denglu.php");
    exit;
}
$uid=$_SESSION["uid"];
include("ChaXun.class.php");
$db=new ChaXun();

?>
<h1>主页</h1>
<br />
<a href="denglu.php">退出 <?php echo $uid; ?></a>
<div id="menu">
<div class="qx">权限管理</div>
<?php
    $jsid="select jueseid from userinjuese where userid='{$uid}'";
    $ajsid=$db->Query($jsid);
    //根据角色代号找到对应的功能
      $all = array();//存储该用户所有的功能代号
        foreach($ajsid as $vjs)
        { 
            $sqlrule="select ruleid from juesewithrules where jueseid='{$vjs[0]}'";
            $arule=$db->Query($sqlrule);
                foreach($arule as $vrule)
                {
                    array_push($all,$vrule[0]);
                    
                }
        }
        
        
        $all=array_unique($all);
        foreach($all as $vall)
        {
            $sn = "select name from rules where code ='{$vall}'";
            $name = $db->StrQuery($sn);
            
            echo "<div class='qx'>{$name}</div>";
        }
    
?>

</div>
</body>
</html>

quanxian.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" />
<script src="../jquery-1.11.2.min.js"></script>//引入jquery包
<title>权限管理</title>
</head>

<body>
<h1>权限管理</h1>
    <div>请选择用户:<select id="user">
             <?php
             include("ChaXun.class.php");
             $db=new ChaXun();
             $sql="select * from users ";
             $attr=$db->Query("$sql");
             foreach($attr as $v)//遍历users,获取所有的name
             {
                 echo"<option value='{$v[0]}'>{$v[2]}</option>";
             }             
             ?>             
             </select>
    </div><br />

    <div>请选择角色:<?php
                  $sql="select * from juese";
                  $attr=$db->Query($sql);
                  foreach($attr as $v)
                  {
                    echo"<input type='checkbox' class='ck' value='{$v[0]}'/>{$v[1]}&nbsp;";//遍历所有的角色,前面+checkbox
                  }
                  ?>
    </div><br />

<div><input type="submit" value="确定" id="btn" /></div> //点击确定提交所选的内容

</body>
<script type="text/javascript">
$(document).ready(function(e) {
    
       showjuese();//一打开页面用户的角色需要显示,所以写成function调用
    $("#user").change(function(){
        
        showjuese();//改变用户时也需要调用
        
        })
    function showjuese()
    {
        var uid=$("#user").val();//获取用户名
        $.ajax({                 //调用ajax
            url:"showjuese.php",//跳转到showjuese页面
            data:{uid:uid},    //获取到的用户名给uid
            type:"POST",       //post传值
            dataType:"TEXT",   
            success: function(data){
                //alert(data.trim());
                var shuju=data.trim().split("|");//将showjuese.php返回的jueseid以"|"分隔开
                
                var ck=$(".ck");//获取所有的checbox
                ck.prop("checked",false);//选中之前先清空
                for(var i=0;i<ck.length;i++)
                    {
                        var v=ck.eq(i).val();
                        
                        //alert($.inArray(v,shuju));
                        if($.inArray(v,shuju)>=0)//判断v是否存在于shuju中
                        {
                            ck.eq(i).prop("checked",true);
                        }                                                
                        
                    }
                }            
            
            });
        
    }        
    
});
$("#btn").click(function(){//点击确定提交数据到数据库
      var uid=$("#user").val();
      var ck=$(".ck");
      var str="";
          for(var i=0;i<ck.length;i++)
          {
              if(ck.eq(i).prop("checked"))
              {
                  str=str+ck.eq(i).val()+"|";//选中的jueseid用"|"拼起来拼为一个字符串放在str中
                  //alert(str);
              }
          }
          //alert(str.substr(0,str.length-1));
          str=str.substr(0,str.length-1);//去除最后多余的"|"
          $.ajax({
              url:"insert.php",//跳转到insrt.php页面处理
              data:{uid:uid,juese:str},//传两个数据给insert.php
              type:"POST",
              dataType:"TEXT",
              success: function(data){
                  
                  if(data.trim()=="OK")
                    {
                        alert("添加成功!");
                    }
                else
                    {
                        alert("添加失败!");
                    }
                  
                  }
              
              
              
              });
    
    
    })

</script>
</html>

insert.php

<?php
include("ChaXun.class.php");
$db=new ChaXun();
$uid = $_POST["uid"];
$js = $_POST["juese"];

$juse = explode("|",$js);//将接收过来的字符串拆分为数组

$bs = true;


$sqldel = "delete from UserInJueSe where UserId = '{$uid}' ";//更改选项之前清空一下
if(!$db->Query($sqldel,1))
{
    $bs = $bs && false;
}

//添加角色信息
foreach($juse as $v)
{
    $sql = "insert into UserInJueSe values('','{$uid}','{$v}')";
    if(!$db->Query($sql,1))
    {
        $bs = $bs && false;
    }
}

if($bs)
{
    echo "OK";
}
else
{
    echo "NO";
}

showjuese.php

<?php
$uid=$_POST["uid"];
include("ChaXun.class.php");
$db=new ChaXun();
$sql="select jueseid from userinjuese where userid='{$uid}'";
echo $db->StrQuery($sql);
原文地址:https://www.cnblogs.com/nannan-0305/p/5538350.html