权限:   1,后台分配角色     角色对应权限    2,各用户通过登录页面登录    查看到各自的权限

五个页面   加引入一个jquery-1.11.2.min.js

1,guanli.php  (后台管理页面,分配角色)

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户与角色权限管理</title>
<script type="text/javascript" src="jquery-1.11.2.min.js"></script>
</head>
<body>
<h1>权限管理</h1>
<div>请选择用户:
<select id="user">
<?php
include("../DBDA.php");
$db=new DBDA();
$sqlu="select * from Users"; $str=$db->StrQuery($sqlu,1,"mydb2"); $hangu=explode("|", $str);
for ($i=0; $i <count($hangu) ; $i++) {
list($UserName,$Password,$Name)=explode("^",$hangu[$i]);
echo "<option value='{$UserName}'>{$Name}</option>";
} ?>
</select><br><br>
<div>请选择角色:</div><br>
<div> <?php
$sqlj="select * from JueSe";
$strj=$db->StrQuery($sqlj,1,"mydb2");
$hangj=explode("|", $strj);
for ($i=0; $i <count($hangj) ; $i++) {
list($code,$name)=explode("^", $hangj[$i]);
echo "<input type='checkbox' value='{$code}' class='juese'/>{$name}&nbsp;"; } ?>
</div><br>
<div><input type="button" id="sure" value="确定"></input></div> </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 i = 0; i < ckall.length; i++) {
ckall.removeAttr("checked");
}
$.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()+"|";
}
}
//alert(str.substr(0,str.length-1));
str=str.substr(0,str.length-1);
$.ajax({
url:"chuliadd1.php",
data:{uid:uid,str:str},
type:"POST",
dataType:"TEXT",
success:function(data){
if (data=="OK") {
alert("操作成功!");
}
} });
})
});
</script>
</html>

2,chulijuese.php(判断数据库中的数据然后确定checkbox是否可以被选中 角色前面的框)

 <?php
include("../DBDA.php");
$uid=$_POST["uid"];
$db=new DBDA();
$sql="select * from UserInJueSe where UserId='{$uid}'";
$str=$db->StrQuery($sql,1,"mydb2"); echo $str; ?>

3,chuliadd1.php  (从guanli页面传过值来,先清掉原有的角色选中,然后根据传来的值重新选中)

 <?php
include("../DBDA.php");
$uid=$_POST["uid"];
$str=$_POST["str"]; $db=new DBDA(); $sqld="delete from UserInJuese where UserId='{$uid}'"; $fh=$db->StrQuery($sqld,0,"mydb2"); if ($fh="OK") {
$juese=explode("|", $str);
for ($i=0; $i <count($juese) ; $i++) {
$sql="insert into UserInJueSe values ('','".$uid."','".$juese[$i]."')";
$db->StrQuery($sql,0,"mydb2");
}
echo "OK";
}
?>

4,denglu.php (数据库中的人员根据姓名和密码登录)

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<h1>登录页面</h1>
<form action="main.php" method="post">
用户名:<input type="text" name="uid" id="uid"></input><br><br>
密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="text" name="pwd" id="pwd"></input><br>
<input type="submit" value="登录"></input>
</form>
</body>
</html>

5,main.php(显示各个角色具有的各自权限)

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>主页面</title>
</head>
<body>
div
<?php
session_start();
include("../DBDA.php");
$db=new DBDA();
$uid=$_POST["uid"];
$pwd=$_POST["pwd"]; $sql="select count(*) from Users where Username='".$uid."' and PassWord ='".$pwd."'";
$str=$db->StrQuery($sql,1,"mydb2");
if ($str==1) {
$_SESSION["uid"]=$uid;
}
else{
header("Location:denglu.php");
}
?>
<div style="width:1000px; height: 35px; background-color:blue; color: white; font-size:25px;">
<div style="width: 150px; height: 35px; vertical-align: middle; line-height: 35px;text-align: center; float: left;">权限管理</div>
<?php
$sqlj="select * from UserInJueSe where UserId='{$uid}'";
$strj=$db->StrQuery($sqlj,1,"mydb2");
$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->StrQuery($sqlr,1,"mydb2");
$hangr=explode("|", $strr); $xianshi=array_merge($xianshi,$hangr); }
$xianshi=array_unique($xianshi); for ($i=0; $i < count($xianshi); $i++) {
$xianshi[$i];
$sqlname="select * from Rules where Code='".$xianshi[$i]."'";
$strname=$db->StrQuery($sqlname,1,"mydb2");
list($code,$name)=explode("^",$strname);
echo "<div style='width: 150px; height: 35px; vertical-align: middle; line-height: 35px;text-align: center; float:left;'>{$name}</div>";
} ?>
</div>
</body>
</html>

lisi的权限:

zhangsan的权限:

2016/04/26 权限 数据库mydb2 五个表 分别是 1,用户 2,角色 3,权限 4,用户对应的角色 5,角色对应的权限的更多相关文章

  1. 2016/04/26 流程 数据库lcdb 四个表 1,用户表users 2,流程表(设定有哪些流程)liucheng 3,流程发起者表(记录谁发起到哪里) 4,流程经过的人员表 flowpath (order排序)

    流程:      十一 个页面 1,denglu.php(登录) <!DOCTYPE html> <html lang="en"> <head> ...

  2. Mysql数据库(五)表记录的检索

    一.基本查询语句 二.单表查询 1.查询所有字段 mysql> SELECT * FROM tb_bookinfo; +----------+-----------+--------+----- ...

  3. ubuntu12.04:Mysql数据库:手动安装

    首先到mysql的下载中心上下载最新的tar.gz包: 1.在浏览器中输入http://www.mysql.com/downloads/ 进入mysql的下载中心,在这里有使用mysql开发的一些工具 ...

  4. v1.0.2-2017.04.26

    v1.0.2-2017.04.26 增加支付宝.微信查询接口 增加订单轮询工程 增加网关下单后发起订单轮询业务流程 v1.0.1-2017.04.05 修复分页乱码bug 增加支付密码字段.商户服务器 ...

  5. ubuntu18.04 安装mongodb 数据库

    工具: 系统:ubuntu18.04  64位 数据库:mongodb GUI:Robo 3T           描述:在win 下面使用Robo 3T  连接Mongodb 数据库 一. 安装mo ...

  6. http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/

    转载自:http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/ 推荐他的所有博文~ 图片 ...

  7. ubuntu16.04 下Mongo数据库搭建

    一 数据库安装 1.下载自己需要的数据库版本和系统,下载地址:https://www.mongodb.com/download-center/community . 本文下载的为ubuntu 16.0 ...

  8. ubuntu16.04安装mysql数据库

    安装 sudo apt-get install mysql-server(安装过程中按提示设置root密码) sudo apt-get install mysql-client sudo apt-ge ...

  9. 学习图像算法阶段性总结 (附一键修图Demo) 2016.04.19更新demo

    今天特别感慨,自己从决定研究图像处理,势必要做出一键修图算法. 经历了,三个多月的书籍积累,三个多月的算法调整以及优化. 人是一种奇怪的动物,当你做不到的时候,你以为做到了,自己会感觉很爽,很有成就感 ...

随机推荐

  1. Haybale Stacking(差分数组 + 求中位数的一些方法 + nth_element)

    题意: 给定N个初始值为0的数, 然后给定K个区间修改(区间[l,r] 每个元素加一), 求修改后序列的中位数. 分析: K个离线的区间修改可以使用差分数组(http://www.cnblogs.co ...

  2. idea 中使用 出现 svn: E155036

    在idea中使用svn  checkout时  svn出现如上错误. 原因本地的工作副本太旧.command line进入本地工作副本的根目录,执行svn upgrade后 重启idea就可以了.

  3. 【04】Firebug页面概况查看

    Firebug页面概况查看 使用Firebug的概况,你可以测试Web页面导致延迟加载的文件. 通过打开页面 Firebug > Console(控制台)> Profile(概况). 你需 ...

  4. URAL 2040 Palindromes and Super Abilities 2

    Palindromes and Super Abilities 2Time Limit: 500MS Memory Limit: 102400KB 64bit IO Format: %I64d &am ...

  5. CodeForce 448C 木片填涂问题

    题目大意:有多片木片需要填涂,可以每次横着涂一行,也可以一次涂一列,当然你涂一行时遇到中间长度不够高的木片,填涂到此中断 这题目运用dfs能更容易的解出,虽然还是十分不容易理解 #include &l ...

  6. POJ 2112: Optimal Milking【二分,网络流】

    题目大意:K台挤奶机,C个奶牛,每台挤奶器可以供M头牛使用,给出奶牛和和机器间的距离矩阵,求所有奶牛走最大距离的最小值 思路:最大距离的最小值,明显提示二分,将最小距离二分之后问题转化成为:K台挤奶机 ...

  7. hdu4135 Co-prime【容斥原理】

    Co-prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  8. SDWebImage实现分析

    该博文来自南峰子的技术博客,文章从下载和缓存俩个大的组件分析到里面一些核心方法的实现,条理清晰,相对于一些一上来就通篇分析实现思路的技术文章, 这篇的讲解思路明确,框架架构也讲的比较清楚.看完这篇再去 ...

  9. linux shell if语句使用方法 [转载]

    最精简的 if 命令的语法是: if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fi TEST-COMMAND 执行后且它的返回状态是0,那么 CONSEQUE ...

  10. poj 1236+hdu2767 有向图 缩点+看度数(tarjan)

    1236题意:一个有向图,1,求至少从几个点出发可以遍历该图,2:,求至少添加多少边,使强连通.而,HDU的只有后面一问. 解;先缩点,第一问只需找所有入度为0的点即可.,第2问,max(入度为0的点 ...