手机版

php实现简单的权限管理的示例代码

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

今天主要来实现一个权限管理系统,它主要是为了给不同的用户设定不同的权限,从而实现不同权限的用户登录之后使用的功能不一样,首先先看下数据库

总共有5张表,qx_user,qx_rules和qx_juese 3张表与另外2张表形成w '型的关系,也是比较常见的一种权限数据库的方式,首先先做权限的设定,也就是管理层给不同用户设定不同权限。

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:/./dist/js/jquery-1。11 .2 .量滴js '/脚本/标题dyh 1用户与角色管理/h1div请选择用户:选择id='user '?php include('././张峰/DBDA。上课。PHP’);$db=新DBDA();$sql='从qx _用户中选择* ';$ arr=$ db-Query($ SQL);foreach($ arr as $ v){ echo ' option value=' { $ v[0]} ' { $ v[2]}/option ';} ?/select/divbr /div请选择角色:php$sjs='从qx_juese中选择* ';$ ajs=$ db-Query($ sjs);foreach($ ajs as $ v){ echo ' input type=' checkbox ' value=' { $ v[0]} ' class=' CK '/{ $ v[1]} ';}?/div br/输入类型='按钮'值='确定id=' BTN '/正文脚本类型='文本/JavaScript ' $(文档)。就绪(功能(e) { //选中默认角色宣();//当用户选中变化的时候,去选中相应角色$(“# user”).change(function(){ Xuan();}) //点击确定保存角色信息$('#btn ').单击(function(){ var uid=$(“# user”)).val();var juese=var ck=$(' .CK ');for(var I=0;长度;i ) { if(ck.eq(i)).道具('选中){ juese=ck.eq(i).val()" | ";} } juese=juese.substr(0,juese。长度-1);$.ajax({ url:'chuli.php ',data:{uid:uid,juese:juese,type:1},type:'POST ',dataType:'TEXT ',success:函数(数据){ alert('保存成功!');} });})});//选中默认角色function Xuan(){ var uid=$('#user ').val();$.ajax({ url:'chuli.php ',data:{uid:uid,type:0},type:'POST ',dataType:'TEXT ',success:函数(数据){ var juese=data.trim().拆分(' | ');var ck=$(' .CK ');ck.prop('checked ',false);for(var I=0;长度;i ) { if(juese.indexOf(ck.eq(i)).val())=0) { ck.eq(i).prop('checked ',true);} } } });}/script/htmlchuli.php

?phpinclude('././张峰/DBDA。上课。PHP’);$db=新DBDA();$ type=$ _ POST[' type '];switch($ type){ case 0: $ uid=$ _ POST[' uid '];$sql='从qx_uij中选择朱赛德,其中useid=' { $ uid } echo $ db-StrQuery($ SQL);打破;案例1: $ uid=$ _ POST[' uid '];$ juese=$ _ POST[' juese '];$sdel='从qx_uij中删除,其中useid=' { $ uid }$db-Query($sdel,0);$arr=explode('| ',$ juese);foreach($ arr as $ v){ echo $ v;$sql='插入qx_uij值(',' {$uid} ',' { $ v } ')';$db-Query($sql,0);}回显“好的”;打破;}实现的效果,如图:

我可以选择给哪个用户设置权限,给他一个什么角色,可以是一个,也可以多个,点击确定就在数据库中赋予了该权限。

例如:马七本身有前台和市场2个角色

现在,删除前台,增加财务

那我们看看数据库添加了没有

马七那项已经改了,j003和j004就是市场和财务角色。

接下来做的是登录某个账号,查看自己的职能

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无标题文档/标题/标题dyh 1登录页面/h1表单操作=' logincl。PHP ' method=' post '输入类型=' text '名称=' uid '/输入类型=' password '名称=' pwd '/输入类型=' submit '值='登录//表单/正文/htmllogincl.php

?PHP session _ start();"包括("././张峰/DBDA。上课。PHP’);$db=新DBDA();$ uid=$ _ POST[' uid '];$ pwd=$ _ POST[' pwd '];$sql='从qx _用户中选择pwd,其中uid=' { $ uid } $ mm=$ db-StrQuery($ SQL);if($mm==$pwd!empty($ pwd)){ $ _ SESSION[' uid ']=$ uid;标题('位置: main。PHP’);}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无标题文档/标题/标题dyh 1主页面/h1?PHP session _ start();"包括("././张峰/DBDA。上课。PHP’);$db=新DBDA();如果(空($ _ SESSION[' uid ']){ header(' location :登录。PHP’);退出;}//登录者用户名$ uid=$ _ SESSION[' uid '];//根据用户名查角色$sjs='从qx_uij中选择朱赛德,其中useid=' { $ uid } $ ajs=$ db-Query($ sjs);//定义一个存放功能代号的数组$ arr=array();//根据角色代号查功能代号foreach($ ajs as $ vjs){ $ jsid=$ vjs[0];//角色代号$sgn='从qx_jwr中选择ruleid,其中jueseid=' { $ jsid } $ strgn=$ db-StrQuery($ SGN);$agn=explode('| ',$ strgn);foreach($ AGN as $ vgn){ array _ push($ arr,$ vgn);} }//去重,显示$ arr=array _ unique($ arr);foreach($arr as $v){ $sql='从qx_rules中选择*其中代码=' { $ v } $ attr=$ db-Query($ SQL);$ attr[0][0];$ attr[0][1];echo ' div code=' { $ attr[0][0]} ' { $ attr[0][1]}/div ';}?/body/html完成的效果,如图:

显示李四的职能是:

看看数据库的是不是一样的:

发现结果是一样的。这样权限管理就做完了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

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