权限:   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. 简单的自动化使用--使用selenium实现学习通网站的刷慕课程序。注释空格加代码大概200行不到

    简单的自动化使用--使用selenium实现学习通网站的刷慕课程序.注释空格加代码大概200行不到 相见恨晚啊 github地址 环境Python3.6 + pycharm + chrom浏览器 + ...

  2. LeetCode(71) Simplify Path

    题目 Given an absolute path for a file (Unix-style), simplify it. For example, path = "/home/&quo ...

  3. 牛客网 牛可乐发红包脱单ACM赛 C题 区区区间间间

    [题解] 我想到了两种解法. 一种是扫描线+线段树+单调栈. 另一种方法是O(n)的,比较巧妙. 考虑每个数在哪些区间可以作为最小数.最长的区间就是它向左右走,直到有数字比它小,这个可以用单调栈维护. ...

  4. c++ 高精度 加减乘除 四则运算 代码实现

    很久以前写的啦 记得写了好久好久一直卡在特例的数据上面 想起都心塞 那时候变量和数组的取名对我来说简直是个大难题啊 完全乱来 abcdef就一路排下来 自己看的时候都搞不懂分别代表什么 好在后来英语学 ...

  5. xtu read problem training 3 B - Gears

    Gears Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Original ID: 3789 ...

  6. HDU3183A Magic Lamp,和NYOJ最大的数一样

    A Magic Lamp Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  7. hdu1856 选出更多的孩子

    题目大意: 老师选取2个学生对应的号码,这两人视作朋友,同时朋友的朋友也可以看成自己的朋友. 最后老师选出一个人数最多的朋友圈. 这里学生的人数不大于10^7,所以操作时需要极为注意,操作步数能省则省 ...

  8. 【字符串+BFS】Problem 7. James Bond

    https://www.bnuoj.com/v3/external/gym/101241.pdf [题意] 给定n个字符串,大小写敏感 定义一个操作:选择任意m个串首尾相连组成一个新串 问是否存在一个 ...

  9. Linux(4):文件属性

    文件属性: # 重点: 磁盘空间不足 和 软链接与硬链接的区别 查看文件的属性: # ls lhi 文件 [root@NEO ~]# ls -lhi /etc/hosts 130078 -rw-r-- ...

  10. CodeForces - 750B New Year and North Pole

    http://codeforces.com/problemset/problem/750/B 模拟题 审题 在南极点 只能向北走(不能向 南 东 西) 所以也就不存在走过南极点的情况 北极点同样 然后 ...