权限管理和主页面

一、权限管理

1.前端页面显示:

<body>
<h1>权限管理</h1>
<div>请选择用户:
     <select id="user">
           <?php
           include("../DBDA.class.php");
		   $db=new DBDA();
		   $sql="select * from user";
		   $attr=$db->Query($sql);
		   foreach($attr as $v)
		   {
			   echo "<option value='{$v[0]}'>{$v[2]}</option>";
		   }
		   ?>
     </select>
</div>
<br />
<div>
  <div>请选择角色:</div>
  <div>
    <?php
         $sqljs="select * from juese";
		 $attrjs=$db->Query($sqljs);
		 
		 foreach($attrjs as $v)
		 {
			 echo "<input class='js' type='checkbox' value='{$v[0]}'/>{$v[1]}  ";
		 }
	?>
  </div>
</div>
<br />
<div>
  <input type="button" value="确定" id="btn"/>
</div>
</body>

  

2.ajax自动显示用户角色jq代码

ShowJueSe();
    $("#user").change(function(){
        
        ShowJueSe();
        });
function ShowJueSe()
    {
        var uid=$("#user").val();
        $.ajax({
            url:"seljuese.php",
            data:{uid:uid},
            type:"POST",
            dataType:"TEXT",
            success:function(data){
                
                var shuju=data.split("|");
                
                var ck=$(".js");
                ck.prop("checked",false);
                
                for(var i=0;i<ck.length;i++)
                {
                    var v=ck.eq(i).val();
                    //var z=$.inArray(v,shuju);//$.inArray()判断v是否在数组shuju中,没有返回-1,有就返回索引号
                    if($.inArray(v,shuju)>=0)
                    {
                        ck.eq(i).prop("checked",true);    
                    }
                }
                
                }
            
            });
    }
ajax自动显示角色函数

3.ajax自动显示角色函数中处理的后端代码seljuese.php

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

$uid=$_POST["uid"];

$sql="select JueSeId from UserInJueSe where UserId = '{$uid}'";
$a=$db->StrQuery($sql);
echo $a;

  

4.点击确定按钮,添加角色jq代码

         $("#btn").click(function(){
        
        var uid=$("#user").val();
        
        var ck=$(".js");
        var str="";
        
        for(var i=0;i<ck.length;i++)
        {
            if(ck.eq(i).prop("checked"))
            {
                str=str+ck.eq(i).val()+"|";
            }
        }
        str=str.substr(0,str.length-1);
        
        $.ajax({
            url:"add.php",
            data:{uid:uid,juese:str},
            type:"POST",
            dataType:"TEXT",
            success:function(data){
                
                if(data.trim()=="OK")
                {
                    alert("添加成功!");
                }
                else
                {
                    alert("添加失败!");
                }
                }
            });
        
        });
添加角色

5.添加角色后端处理代码add.php

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

$uid=$_POST["uid"];
$js=$_POST["juese"];

$juese=explode("|",$js);

$bs=true;

//清空该用户具有的所有角色
$sqldel="delete from UserInJueSe where UserId = '{$uid}' ";
$z=$db->Query($sqldel,1);
if(!$z)
{
    $bs=$bs && false;
}

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

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

二、主页面

登陆

主页面导航栏显示

前端显示和处理代码

<?php
session_start();

if(empty($_SESSION["uid"]))
{
    header("location:login.php");
    exit;
}
$uid=$_SESSION["uid"];
include("../DBDA.class.php");
$db=new DBDA();
?>
<title>无标题文档</title>
<style type="text/css">
*
{
    margin:0px auto; padding:0px;
}
#menu
{
    width:100%; height:40px;
}
.cd
{
    width:100px; height:40px; background-color:#3FF; color:#FFF;
    font-size:18PX; text-align:center; line-height:40px; vertical-align:middle; float:left;
}
.cd:hover
{
    background-color:#F00; cursor:pointer;
}
</style>
</head>

<body>
<br />
<br />
<center><h1>主页面</h1></center>
<br />
<a href="login.php">退出</a>
<br />
<br />

<div id="menu"> 
  <div class="cd">权限管理</div>
  <?php
  //根据用户名找到所对应的角色代号
  $sjs="select jueseid from userinjuese where userid='{$uid}'";
  $ajs=$db->Query($sjs);
  
  //根据角色代号找到所对应的功能代号
  $all=array();//存储该用户所有的功能代号
  foreach($ajs as $vjs)
  {
      $sgn="select ruleid from juesewithrules where jueseid='{$vjs[0]}'";
      $agn=$db->Query($sgn);
      
      foreach($agn as $vgn)
      {
          array_push($all,$vgn[0]);
      }  
  }
  $all=array_unique($all);
  
  //根据功能代号显示功能
  foreach($all as $vall)
  {
      $sn="select name from rules where code='{$vall}'";
      $name=$db->StrQuery($sn);
      
      echo "<div class='cd'>{$name}</div>";
  }

  ?>
</div>
</body>
原文地址:https://www.cnblogs.com/zst062102/p/5664013.html