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]} &nbsp;";
}
?>
</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 权限管理的更多相关文章

  1. Android权限管理之RxPermission解决Android 6.0 适配问题

    前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...

  2. Android权限管理之Android 6.0运行时权限及解决办法

    前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...

  3. Android权限管理之Permission权限机制及使用

    前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...

  4. SpringMVC+Shiro权限管理【转】

    1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...

  5. Android6.0运行时权限管理

    自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装 ...

  6. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  7. [Django]用户权限学习系列之权限管理界面实现

    本系列前三章: http://www.cnblogs.com/CQ-LQJ/p/5604331.htmlPermission权限基本操作指令 http://www.cnblogs.com/CQ-LQJ ...

  8. [Django]用户权限学习系列之设计自有权限管理系统设计思路

    若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...

  9. 我的MYSQL学习心得(十三) 权限管理

    我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  10. 基于DDDLite的权限管理OpenAuth.net 1.0版正式发布

    距离上一篇OpenAuth.net的文章已经有5个多月了,在这段时间里项目得到了很多朋友的认可,开源中国上面的Star数接近300,于是坚定了我做下去的信心.最近稍微清闲点,正式推出1.0版,并在阿里 ...

随机推荐

  1. springboot查找配置文件路径的过程

    spring加载配置文件是通过listener监视器实现的,在springboot启动时: 在容器启动完成后会广播一个SpringApplicationEvent事件,而SpringApplicati ...

  2. JSP页面之间传递参数的方法有哪些?

    JSP页面之间传递参数的方法有哪些? 解答: 1)request 2)session 3)application 4)提交表单 5)超链接

  3. php缓存技术基础知识

    普遍缓存技术 数据缓存:这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询 ...

  4. windows 下安装securecrt 绿色版

  5. Linux USB 鼠标输入驱动具体解释

    平台:mini2440 内核:linux 2.6.32.2 USB设备插入时.内核会读取设备信息,接着就把id_table里的信息与读取到的信息做比較.看是否匹配,假设匹配.就调用probe函数. U ...

  6. 蓝桥杯 第三届C/C++预赛真题(2) 古堡算式(数学题)

    福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久, ...

  7. Idea定位打开文件在左边工程中的文件路径

    勾选掉Autoscoll from Source

  8. 【转】JavaScript和Java的区别

    虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的两个产品.      Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet 应用程序开发:而Ja ...

  9. C#封装C++DLL(特别是char*对应的string)

    1.新建一个C#-Windows-类库(用于创建C#类库(.dll)的项目)类型的工程 2.对于普通C++函数 XXXX_API void cppFun(int i); 在cs代码中添加 [DllIm ...

  10. OSX终端 命令行的一些基本操作

    本文转载至 http://blog.csdn.net/xdrt81y/article/details/24058959 osx终端命令 OSX终端 命令行的一些基本操作终端 命令行的一些基本操作很多朋 ...