Heim  >  Artikel  >  php教程  >  图文详解如何用PHP实现权限管理功能

图文详解如何用PHP实现权限管理功能

PHPz
PHPzOriginal
2016-06-06 19:55:591126Durchsuche

下面小编就为大家带来一篇PHP实现权限管理功能示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

权限管理系统,它主要是为了给不同的用户设定不同的权限,从而实现不同权限的用户登录之后使用的功能不一样。

首先先看下数据库

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

2.做管理员的处理页面RBchuli.php

<?php
$uid = $_POST["uid"];
require_once "./DBDA.class.php";
$db = new DBDA();
$sql = "select rolesuid from users_roles where usersuid=&#39;{$uid}&#39;";
echo $db->StrQuery($sql,0); 保存角色信息的处理页面RBbtnchuli.php

保存角色信息的处理页面RBbtnchuli.php

<?php 
$uid = $_POST["uid"]; 
$role = $_POST["role"];//字符串 
$role = substr($role,0,strlen($role)-1); 
$arr = explode("|", $role); 
require_once "./DBDA.class.php"; 
$db = new DBDA(); 
//删除 
$sdel = "delete from users_roles where usersuid=&#39;{$uid}&#39;"; 
$db->query($sdel); 
//添加 
foreach($arr as $v){ 
  $sql = "insert into users_roles values(0,&#39;{$uid}&#39;,&#39;{$v}&#39;)"; 
  $db->query($sql); 
}

效果如图:

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

249a7acab6fcd355f912f1432ff497873.用户登录页面RBlogin.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="bootstrap/js/jquery-1.11.2.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>
    <link href="bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css"/>
  </head>
  <style>
    .title{
      margin-left: 600px;
      margin-top: 150px;
    }
    .quanju{
      margin-left: 450px;
      margin-top: -180px;
    }
    .name,.pwd{
      max-width: 120px;
    }
    .yangshi1{
      margin-top: 200px;
    }
  </style>
  <body>    
<form class="form-horizontal" role="form" action="RBloginchuli.php" method="post">
  <h3 class="title">用户登录</h3>
  <p class="quanju">
      <p class="form-group yangshi1">
        <label for="firstname" class="col-sm-2 control-label">用户名:</label>
        <p class="col-sm-10">
          <input type="text" class="form-control name" name="uid" placeholder="请输入用户名">
        </p>
      </p>
      <p class="form-group yangshi2">
        <label for="lastname" class="col-sm-2 control-label">密码:</label>
        <p class="col-sm-10">
          <input type="text" class="form-control pwd" name="pwd" placeholder="请输入密码">
        </p>
      </p>
      <p class="form-group">
        <p class="col-sm-offset-2 col-sm-10">
          <p class="checkbox">
            <label>
            <input type="checkbox">
            保存密码 </label>
            <label>
            <input type="checkbox">
            下次自动登录 </label>
          </p>
        </p>
      </p>
      <p class="form-group">
        <p class="col-sm-offset-2 col-sm-10">
          <button type="submit" class="btn btn-warning" value="登录" onclick="return login()" >
          登录
          </button>
          
        </p>
      </p>
    </p>  
  </form>    
  </body>
</html>

4.登录页面的处理页面RBloginchuli.php

<?php
session_start();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
require_once "./DBDA.class.php";
$db = new DBDA();
$sql = "select pwd from users where uid=&#39;{$uid}&#39;";
$mm = $db->StrQuery($sql,0);
if(!empty($pwd) && $pwd==$mm){
  $_SESSION["uid"] = $uid;
  header("location:RBmain.php");
}else{
  echo "<script>alert(&#39;用户名或密码有误!&#39;)</script>";
}

5.最后做用户的主页面RBmain.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>权限主页面</title>    
  </head>
  <body>
    <?php
    session_start();
    if(empty($_SESSION["uid"])){
      header("location:RBlogin.php");
      exit;
    }
    $uid = $_SESSION["uid"];
    
    require_once "./DBDA.class.php";
    $db = new DBDA();
    //子查询
    $sql = "select * from roleswork where code in (select * from roles_roleswork where rolesuid in (select * from users_roles where usersuid=&#39;{$uid}&#39;))";
    $arr = $db->query($sql,0);
    foreach($arr as $v){
      echo "<p class=&#39;menu&#39;>{$v[1]}</p>";
    }    
    ?>
        
  </body>
</html>

效果如图:

以上就是小编为大家带来的PHP实现权限管理功能示例的全部内容了,希望大家喜欢哦~

【相关教程推荐】

1. php编程从入门到精通全套视频教程
2. php从入门到精通 
3. bootstrap教程

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:用php生成excel文件Nächster Artikel:PHP5.5四种序列化性能对比