PHP 权限管理
login页面
<form action="loginchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<input type="submit" value="登录" />
</form>
loginchuli页面
<?php
session_start();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"]; include("../DBDA.php");
$db = new DBDA(); $sql = "select count(*) from Users where Uid='{$uid}' and Pwd = '{$pwd}'"; $z = $db->StrQuery($sql); if($z == 1)
{
$_SESSION["uid"] = $uid;
header("location:main.php");
}
else
{
header("location:login.php");
}
main主页面
<?php
session_start(); if(empty($_SESSION["uid"]))
{
header("location:login.php");
exit;
}
$uid = $_SESSION["uid"]; include("../DBDA.php");
$db = new DBDA();
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{ margin:0px auto; padding:0px}
#menu{
width:100%;
height:40px;
}
.cd{
width:100px;
height:40px;
background-color:#60C;
color:white;
font-size:18px;
text-align:center;
line-height:40px;
vertical-align:middle;
float:left;
}
.cd:hover{ background-color:#F33;
cursor:pointer; }
</style>
</head> <body>
<br />
<center><h1>主页面</h1></center>
<br />
<a href="login.php">退出 <?php echo $uid; ?></a>
<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>
guanli页面
<h1>权限管理</h1> <div>请选择用户:
<select id="user">
<?php
include("../DBDA.php");
$db = new DBDA(); $sql = "select * from Users";
$attr = $db->Query($sql); foreach($attr as $v)
{
echo "<option value='{$v[0]}'>{$v[2]}</option>";
} ?>
</select>
</div>
<br />
<div>
<div>请选择角色:</div>
<br />
<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>
<script type="text/javascript">
$(document).ready(function(e) { 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(); if($.inArray(v,shuju)>=0)
{
ck.eq(i).prop("checked",true);
} } } }); } $("#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("添加失败!");
}
} }); }) });
</script>
add页面
<?php
include("../DBDA.php");
$db = new DBDA(); $uid = $_POST["uid"];
$js = $_POST["juese"]; $juse = explode("|",$js); $bs = true; //清空该用户具有的所有角色
$sqldel = "delete from UserInJueSe where UserId = '{$uid}' ";
if(!$db->Query($sqldel,0))
{
$bs = $bs && false;
} //添加角色信息
foreach($juse as $v)
{
$sql = "insert into UserInJueSe values('','{$uid}','{$v}')";
if(!$db->Query($sql,0))
{
$bs = $bs && false;
}
} if($bs)
{
echo "OK";
}
else
{
echo "NO";
}
seljuese页面
<?php
include("../DBDA.php");
$db = new DBDA(); $uid = $_POST["uid"]; $sql = "select JueSeId from UserInJueSe where UserId = '{$uid}'"; echo $db->StrQuery($sql);
PHP 权限管理的更多相关文章
- Android权限管理之RxPermission解决Android 6.0 适配问题
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...
- Android权限管理之Android 6.0运行时权限及解决办法
前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...
- Android权限管理之Permission权限机制及使用
前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...
- SpringMVC+Shiro权限管理【转】
1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...
- Android6.0运行时权限管理
自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装 ...
- Oracle 表空间和用户权限管理
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- [Django]用户权限学习系列之权限管理界面实现
本系列前三章: http://www.cnblogs.com/CQ-LQJ/p/5604331.htmlPermission权限基本操作指令 http://www.cnblogs.com/CQ-LQJ ...
- [Django]用户权限学习系列之设计自有权限管理系统设计思路
若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...
- 我的MYSQL学习心得(十三) 权限管理
我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...
- 基于DDDLite的权限管理OpenAuth.net 1.0版正式发布
距离上一篇OpenAuth.net的文章已经有5个多月了,在这段时间里项目得到了很多朋友的认可,开源中国上面的Star数接近300,于是坚定了我做下去的信心.最近稍微清闲点,正式推出1.0版,并在阿里 ...
随机推荐
- 快速排序的c++实现 和 python 实现
最近在学python,其中有个要求实现快速排序的练习,就顺便复习了c++的快速排序实现. 快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比 ...
- oracle的dual表
1.DUAL表的用途Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户Connected to Oracle Databas ...
- Tensorflow之改变tensor形状
https://www.tensorflow.org/versions/r0.12/api_docs/python/array_ops.html#reshape 例子: # tensor 't' is ...
- 【BZOJ】3668: [Noi2014]起床困难综合症(暴力)
http://www.lydsy.com/JudgeOnline/problem.php?id=3668 这题很简单.............. 枚举每一位然后累计即可.. QAQ,第一次以为能1A, ...
- 【VBA】制作散点图及打标签VBA
1.散点图的制作必须只选择xy轴对应的数据,不能选中标签. 2.调整xy轴交叉点,改为四个象限. 3.通过菜单移动散点图到新表. 4.运行宏,打上文本标签. VBA如下 Sub AttachLabel ...
- android--WaveView(波浪形View) 的实现记录
背景 请假回家当伴郎,由于实在无聊,就写下了此篇博客!!按照惯例,先上动态图 怎么样!效果比较赞吧!!! 思路 当我第一次看见这个效果的时候,我的第一个想法是:如果是静态的时候是什么样子的!好,再来张 ...
- Linux 下添加用户,修改权限
最近在用虚拟机,安装了centos,现在想新添加一个用户,在网上找了找方法.[原文链接] # useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为 ...
- nodepad++ 快捷键加常用操作
常用快捷键 新建文件 Ctrl+N 打开文件 Ctrl+O 保存文件 Ctrl+S 另存为 Ctrl+Alt+S 全部保存 Ctrl+Shift+S 关闭当前文件 Ctrl+W 打印文件 Ctrl+P ...
- Codeforces Round #210 (Div. 1).B
经典的一道DP题. 题目明显是一道DP题,但是比赛的时候一个劲就在想怎么记录状态和转移.最后想到了一种n^3的方法,写了下,不出所料的超时了. 看了别人的代码才发现竟然是先二分然后再进行DP,像这种思 ...
- Codeforces Round #372 (Div. 1) B. Complete The Graph
题目链接:传送门 题目大意:给你一副无向图,边有权值,初始权值>=0,若权值==0,则需要把它变为一个正整数(不超过1e18),现在问你有没有一种方法, 使图中的边权值都变为正整数的时候,从 S ...