权限:   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. Linux磁盘管理及Lvm

    1. 硬盘接口 IDE: SATA:常用: SCSI:主要用于高端服务器,linux默认: SAS 2. 硬盘种类 SATA硬盘:串口硬盘,有较强的纠错能力: SCSI 硬盘:默认硬盘: SAS 硬盘 ...

  2. vue 页面过渡效果

    App.vue 模板 <template> <div id="app"> <transition :name="transition&quo ...

  3. Linux基础(Ubuntu)

    更换apt源为清华源 1.备份 /etc/apt/sources.list 2.vim 编辑 /etc/apt/sources.list 添加 deb http://mirrors.tuna.tsin ...

  4. linux下solr5.0.0环境搭建

    1解压 linux下解压命令 tar -zxvf solr-5.0.0.tgz 2启动 linux 系统 直接切换solr-5.0.0\bin 文件夹 执行 solr star -p 8983 (如果 ...

  5. NOI模拟赛(3.15) sequence(序列)

    Description 小A有N个正整数,紧接着,他打算依次在黑板上写下这N个数.对于每一个数,他可以决定将这个数写在当前数列的最左边或最右边.现在他想知道,他写下的数列的可能的最长严格上升子序列(可 ...

  6. Android开发——使用ADB Shell命令实现模拟点击(支付宝自动转账实现)

    首先声明,本人反对一切利用技术的违法行为 本文的实现代码已经销毁,本文以介绍流程为主 1.这里所说的模拟点击不是在自己的APP里点击,点自己APP上的控件没什么好说的 不仅是支付宝转账,其他的获取别人 ...

  7. 发布tomcate时报A configuration error occurred during startup.please verify the preference field with the prompat:null

    发布tomcate时报A configuration error occurred during startup.please verify the preference field with the ...

  8. 图的最小生成树——Kruskal算法

    Kruskal算法 图的最小生成树的算法之一,运用并查集思想来求出最小生成树. 基本思路就是把所有边从小到大排序,依次遍历这些边.如果这条边所连接的两个点在一个连通块里,遍历下一条边,如果不在,就把这 ...

  9. Go变量定义学习

    package main import ( "fmt" ) //变量定义: //使用var关键字或:=定义变量 //可放在函数内,或直接放在包内 //使用var()集中定义 //函 ...

  10. 【网络流】codeforces C. Heidi and Library (hard)

    http://codeforces.com/contest/802/problem/C