WEB开发者-分享WEB开发知识,让开发变得更简单!

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

我们都知道权限管理的重要,而不同的权限获取的功能是不一样的,今天爱站技术频道小编就和大家分享PHP实现简单的权限管理示例代码,一起跟随小编的步伐来看看吧。

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

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

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

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

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

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

guanli.php




无标题文档

用户与角色管理

请选择用户:
请选择角色: <?php $sjs = "select * from qx_juese"; $ajs = $db->Query($sjs); foreach($ajs as $v) { echo "{$v[1]} "; } ?>

chuli.php

<?php include("../../fengzhuang/DBDA.class.php");
$db = new DBDA();

$type = $_POST["type"];

switch($type)
{
  case 0:
    $uid = $_POST["uid"];
    $sql = "select jueseid from qx_uij where useid='{$uid}'";
    echo $db->StrQuery($sql);
    break;
  case 1:
    $uid = $_POST["uid"];
    $juese = $_POST["juese"];
    $sdel = "delete from qx_uij where useid='{$uid}'";
    $db->Query($sdel,0);
    $arr = explode("|",$juese);
    foreach($arr as $v)
    {
      echo $v;
      $sql = "insert into qx_uij values('','{$uid}','{$v}')";
      $db->Query($sql,0);
    }
    echo "OK";
    break;
}

实现的效果,如图:

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

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

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

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

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

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

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

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

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

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

login.php




无标题文档

登录页面

logincl.php

<?php session_start();
include("../../fengzhuang/DBDA.class.php");
$db = new DBDA();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];

$sql="select pwd from qx_user where uid='{$uid}'";
$mm = $db->StrQuery($sql); 

if($mm==$pwd && !empty($pwd))
{
  $_SESSION["uid"]=$uid;
  header("location:main.php");
}

main.php




无标题文档

主页面

<?php session_start(); include("../../fengzhuang/DBDA.class.php"); $db = new DBDA(); if(empty($_SESSION["uid"])) { header("location:login.php"); exit; } //登录者用户名 $uid = $_SESSION["uid"]; //根据用户名查角色 $sjs = "select jueseid from qx_uij where useid='{$uid}'"; $ajs = $db->Query($sjs); //定义一个存放功能代号的数组 $arr = array(); //根据角色代号查功能代号 foreach($ajs as $vjs) { $jsid = $vjs[0]; //角色代号 $sgn = "select ruleid from qx_jwr where 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 = "select * from qx_rules where code='{$v}'"; $attr = $db->Query($sql); $attr[0][0]; $attr[0][1]; echo "{$attr[0][1]}"; } ?>

完成的效果,如图:

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

显示李四的职能是:

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

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

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

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

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

上述是爱站技术频道小编为大家带来的PHP实现简单的权限管理示例代码,大家都了解了吗?更多的专业知识,尽在www.webkfz.com。

本文链接:https://www.webkfz.com/WEBkF/PHP/70631.html

版权声明:站内所有文章皆来自网络转载,只供分享作用,不代表本站的观点!

发表评论 共有 0 条评论)

联系客服
网站客服 业务合作 QQ
1244305267
公众号
公众号
公众号
返回顶部