手机版

php人员权限管理(RBAC)实例(推荐)

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

php-人员权限管理(RBAC)

权限管理可以想做贵宾的功能,普通用户和贵宾用户的功能是不一样的,大致会用到五张表:用户表、角色表、功能表,还有他们之间互相关联的表:用户与角色表、角色与功能表

我用到的五张表如下:

一。首先写的是管理员页面

1.用下拉列表显示用户名

差异选择id='user '?“php必需"./DBDA。上课。PHP ';$db=新DBDA();$sql='从用户中选择* ';$arr=$db-query($sql,1);foreach($ arr as $ v){ echo ' option value=' { $ v[0]} ' { $ v[2]}/option ';} ?/select/div

2.因为上面已经造了新对象,所以在显示角色名时直接从结构化查询语言语句开始写

差异请选择角色:php $sql='从juese中选择* ';$arr=$db-query($sql,1);foreach($ arr as $ v){ echo ' input type=' checkbox ' class=' CK ' value=' { $ v[0]} '/{ $ v[1]} ';} ?/div br/

3.为了修改权限加一个确认保存按钮

输入类型='按钮'值='保存id='包村/

4.这样,再考虑怎么让数据库中用户本有的角色显示出来,那就是要用到下拉列表和复选框的值了

可以把它写入方法里,然后调用这个方法

function Xuan(){ var uid=$('#user ').val();$.ajax({ url:'chuli.php ',data:{uid:uid},type:'POST ',dataType:'TEXT ',success:函数(数据){ var js=data.trim().拆分(' | ');var ck=$(' .CK ');ck.prop('checked ',false);for(var I=0;长度;i ) { var v=ck.eq(i).val();if(js.indexOf(v)=0) { ck.eq(i).prop('checked ',true);} } } })}5.各项值的处理页面

?" phprequire "./DBDA。上课。PHP ';$db=新DBDA();$ uid=$ _ POST[' uid '];$sql='从用户错误中选择朱赛德,其中userid=“{ $ uid }”;echo $ db-strquery($ SQL);效果如下:

6.最后就是保存修改后的值了,可以直接用全部删除在重新写入的方法来进行值的选择;对保存按钮添加单击事件

宣();$(“# user”).change(function(){ Xuan();})$(' #包村')。单击(function(){ var uid=$(“# user”)).val();var str=var ck=$(' .CK ');for(var I=0;长度;i ) { if(ck.eq(i)).prop(' checked '){ str=strck。方程式(一).val()',';} } str=str.substr(0,str。长度-1);$.ajax({ url:'add.php ',data:{uid:uid,js:str},type:'POST ',dataType:'TEXT ',success:函数(数据){ alert('保存成功!');} }) })7.保存的处理页面

?" phprequire "./DBDA。上课。PHP ';$db=新DBDA();$ uid=$ _ POST[' uid '];$ js=$ _ POST[' js '];//清空原有角色$sql='从用户错误中删除,其中userid=' { $ uid } $ db-query($ SQL);//添加选中的角色$ajs=explode(',',$ js);foreach($ ajs as $ v){ $ SQL='在ese值中插入用户',' {$uid} ',' { $ v } ')';$ db-查询($ SQL);}效果如下:

下面代码用来复制用,注意创建交互式、快速动态网页应用的网页开发技术需要引用Jquery

1.guanli.php

!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。org/TR/XHTML 1/DTD/XHTML 1-Transitional。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' hearteta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8' /title无标题文档/titlescript src='http:/jquery-3。2 .0 .量滴js '/脚本/头体h1用户角色对应/h1div选择id='user '?“php必需"./DBDA。上课。PHP ';$db=新DBDA();$sql='从用户中选择* ';$arr=$db-query($sql,1);foreach($ arr as $ v){ echo ' option value=' { $ v[0]} ' { $ v[2]}/option ';} ?/select/divbr/div请选择角色:php $sql='从juese中选择* ';$arr=$db-query($sql,1);foreach($ arr as $ v){ echo ' input type=' checkbox ' class=' CK ' value=' { $ v[0]} '/{ $ v[1]} ';} ?/div br/输入类型='按钮'值='保存id='鲍村/body脚本类型=' text/JavaScript ' Xuan();$(“# user”).change(function(){ Xuan();})$(' #包村')。单击(function(){ var uid=$(“# user”)).val();var str=var ck=$(' .CK ');for(var I=0;长度;i ) { if(ck.eq(i)).prop(' checked '){ str=strck。方程式(一).val()',';} } str=str.substr(0,str。长度-1);$.ajax({ url:'add.php ',data:{uid:uid,js:str},type:'POST ',dataType:'TEXT ',success:函数(数据){ alert('保存成功!');} }) })函数Xuan(){ var uid=$(“# user”).val();$.ajax({ url:'chuli.php ',data:{uid:uid},type:'POST ',dataType:'TEXT ',success:函数(数据){ var js=data.trim().拆分(' | ');var ck=$(' .CK ');ck.prop('checked ',false);for(var I=0;长度;i ) { var v=ck.eq(i).val();if(js.indexOf(v)=0) { ck.eq(i).prop('checked ',true);} } } })}/script/html2.chuli.php

?" phprequire "./DBDA。上课。PHP ';$db=新DBDA();$ uid=$ _ POST[' uid '];$sql='从用户错误中选择朱赛德,其中userid=“{ $ uid }”;echo $ db-strquery($ SQL);3.保存的处理页面add.php

?" phprequire "./DBDA。上课。PHP ';$db=新DBDA();$ uid=$ _ POST[' uid '];$ js=$ _ POST[' js '];//清空原有角色$sql='从用户错误中删除,其中userid=' { $ uid } $ db-query($ SQL);//添加选中的角色$ajs=explode(',',$ js);foreach($ ajs as $ v){ $ SQL='在ese值中插入用户',' {$uid} ',' { $ v } ')';$ db-查询($ SQL);}二。完成管理员页面后,下面就是登录页面

1.登录基本页面login.php

!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。org/TR/XHTML 1/DTD/XHTML 1-Transitional。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' hearteta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8' /title无标题文档/标题/头体一登录界面/h1form action='dlchuli.php '方法='post'div用户名:输入类型=' text ' name=' uid '/div div密码:输入类型=' password ' name=' pwd '/divinput类型='submit '值='登录//表单/正文/html2 .登录处理的页面dlchuli.php

?PHP session _ start();要求./DBDA。上课。PHP ';$db=新DBDA();$ uid=$ _ POST[' uid '];$ pwd=$ _ POST[' pwd '];$sql='从用户中选择pwd,其中uid=' { $ uid } $ mm=$ db-strquery($ SQL);if($mm==$pwd!empty($ pwd)){ $ _ SESSION[' uid ']=$ uid;标题('位置: main。PHP’);}else{ echo '输入的用户名或密码有误!}

3.主页面main.php

!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。org/TR/XHTML 1/DTD/XHTML 1-Transitional。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' hearteta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8' /title无标题文档/titlestyle type='text/css ' .列表{ width :100 px h8 :35 pxborder :1 px实心# 36Fmargin:0px 2px 0px 2px文本对齐:居中;垂直对齐:毫米;线高:35 px}/样式/头体一主页面/h1?PHP session _ start();$ uid=if(空($ _ SESSION[' uid ']))代码类=' PHP注释'//判断会议是否为空/code { header(' location : log in。PHP’);code class='php注释'//空的话就返回登录页面/code退出;} $ uid=$ _ SESSION[' uid '];要求./DBDA。上课。PHP ';$db=新DBDA();$sql='从代码所在的规则中选择*(从juesewithrules中选择独特的规则,其中jueseid位于(从用户错误中选择朱赛德,其中userid=' { $ uid } ')';$arr=$db-query($sql,1);foreach($ arr as $ v){ echo ' div code=' { $ v[0]} ' class=' list ' { $ v[1]}/div ';} ?/body/html选择登陆张三显示他的权限,效果如下:

以上这篇服务器端编程语言(专业超文本预处理器的缩写)人员权限管理(RBAC)实例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

版权声明:php人员权限管理(RBAC)实例(推荐)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。