2016/04/26 权限 数据库mydb2 五个表 分别是 1,用户 2,角色 3,权限 4,用户对应的角色 5,角色对应的权限
权限: 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} "; } ?>
</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>
密 码:<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,角色对应的权限的更多相关文章
- 2016/04/26 流程 数据库lcdb 四个表 1,用户表users 2,流程表(设定有哪些流程)liucheng 3,流程发起者表(记录谁发起到哪里) 4,流程经过的人员表 flowpath (order排序)
流程: 十一 个页面 1,denglu.php(登录) <!DOCTYPE html> <html lang="en"> <head> ...
- Mysql数据库(五)表记录的检索
一.基本查询语句 二.单表查询 1.查询所有字段 mysql> SELECT * FROM tb_bookinfo; +----------+-----------+--------+----- ...
- ubuntu12.04:Mysql数据库:手动安装
首先到mysql的下载中心上下载最新的tar.gz包: 1.在浏览器中输入http://www.mysql.com/downloads/ 进入mysql的下载中心,在这里有使用mysql开发的一些工具 ...
- v1.0.2-2017.04.26
v1.0.2-2017.04.26 增加支付宝.微信查询接口 增加订单轮询工程 增加网关下单后发起订单轮询业务流程 v1.0.1-2017.04.05 修复分页乱码bug 增加支付密码字段.商户服务器 ...
- ubuntu18.04 安装mongodb 数据库
工具: 系统:ubuntu18.04 64位 数据库:mongodb GUI:Robo 3T 描述:在win 下面使用Robo 3T 连接Mongodb 数据库 一. 安装mo ...
- http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/
转载自:http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/ 推荐他的所有博文~ 图片 ...
- ubuntu16.04 下Mongo数据库搭建
一 数据库安装 1.下载自己需要的数据库版本和系统,下载地址:https://www.mongodb.com/download-center/community . 本文下载的为ubuntu 16.0 ...
- ubuntu16.04安装mysql数据库
安装 sudo apt-get install mysql-server(安装过程中按提示设置root密码) sudo apt-get install mysql-client sudo apt-ge ...
- 学习图像算法阶段性总结 (附一键修图Demo) 2016.04.19更新demo
今天特别感慨,自己从决定研究图像处理,势必要做出一键修图算法. 经历了,三个多月的书籍积累,三个多月的算法调整以及优化. 人是一种奇怪的动物,当你做不到的时候,你以为做到了,自己会感觉很爽,很有成就感 ...
随机推荐
- oracle如何重做日志组
1.查询数据库中的重做日志组 SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STA ...
- POJ 3522 Slim Span (Kruskal枚举最小边)
题意: 求出最小生成树中最大边与最小边差距的最小值. 分析: 排序,枚举最小边, 用最小边构造最小生成树, 没法构造了就退出 #include <stdio.h> #include < ...
- Insertion or Heap Sort
7-14 Insertion or Heap Sort(25 分) According to Wikipedia: Insertion sort iterates, consuming one inp ...
- [MVC]Area区域相关技术
MVC提供Area机制,在同一个项目之内就能够切割出不同的ASP.NET MVC网站. 插入:首先在相同的位置,比如说同一个文件夹(如:Controllers)是不能创建俩个相同名称的文件(如:Hom ...
- 大数据学习——yum练习安装mysql
1. 安装mysql 服务器端: yum install mysql-server yum install mysql-devel 2. 安装mysql客户端: yum install mysql 3 ...
- sql语句中嵌套2层循环
declare @year intdeclare @month intset @year=2008 while(@year<=2011)beginset @month=1while(@month ...
- [HDU3065]病毒持续侵袭中(AC自动机)
传送门 AC自动机的又一模板,统计每个字符串在文本中的次数. 所以就不需要vis数组了. ——代码 #include <cstdio> #include <cstring> # ...
- poj1975
#include<stdio.h> #include<string.h> #define N 100 int map[N][N]; int main() { int t,n,m ...
- jvm参数设置 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将- ...
- firefox自动化测试的常用插件
1.firebug 2.firepath 3.firefinder 5.WebDriver Element Locator 提供多种语言的xpath路径