5.27权限练习

权限设置页面效果图:

实现功能:可以增添或者取消用户的相应职能权限。代码如下:

主页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>权限管理</title>
<script src="jquery-2.2.3.js">
</script>
</head>

<body>
<h1>Authority Management</h1>
<!--用户选择-->
<div>
请选择用户:<select id="uid">
              <?php
                 include ("database.class.php");
                 $db = new database();
                 $sql_users = "select * from Users";
                 $arr_users = $db->Query($sql_users);
                 foreach($arr_users as $value_users)
                 {
                    echo "<option value=‘{$value_users[0]}‘>{$value_users[2]}</option>";
                 }
              ?>
         </select>
</div>
<br />
<!--职位选择-->
<div>
请选择职位:
            <?php
                $sql_position = "select * from JueSe";
                $arr_position = $db->Query($sql_position);
                foreach($arr_position as $value_position)
                {
                    echo "<input type=‘checkbox‘ class=‘job‘ value=‘{$value_position[0]}‘ />{$value_position[1]}&nbsp;";
                }
            ?>
</div>
<br />
<div>
<input type="button" value="确定" id="btn" />
</div>
</body>
</html>
<script>
$(document).ready(function(e) {

    Job();

    $("#uid").change(function ()
    {
        Job();
        })
    $("#btn").click(function ()
    {
        var uid = $("#uid").val();
        var job = $(".job");
        var str ="";
        for(var i=0;i<job.length;i++)
        {
            if(job.eq(i).prop("checked"))
            {
                str = str + job.eq(i).val() + "|";
            }
        }
        str = str.substr(0,str.length-1);
        //alert(str);
        $.ajax({
                url:"job1cl.php",
                data:{uid:uid,js:str},
                type:"POST",
                dataType:"TEXT",
                success: function(d){

                    if(d.trim()=="OK")
                    {
                        alert("添加成功");
                    }
                    else
                    {
                        alert("添加失败");
                    }
                  }
              })

        })

    function Job()
    {
        var uid = $("#uid").val();
        $.ajax({

                url:"jobcl.php",
                data:{uid:uid},
                type:"POST",
                dataType:"TEXT",
                success: function(d){

                    var data = d.split("|");
                    var job = $(".job");
                    job.prop("checked",false);
                    for(var i = 0 ;i<job.length; i++)
                    {
                        var value =job.eq(i).val();
                        //alert($.inArray(value,data));
                        if($.inArray(value,data)!=-1)
                        {
                            job.eq(i).prop("checked",true);
                        }
                    }
                 }
              })
    }    

});

</script>

用户下拉列表处理:

<?php

$uid = $_POST[‘uid‘];
include ("database.class.php");
$db = new database();
$sql = "select JueSeId from UserInJueSe where UserId = ‘{$uid}‘";
$result = $db->str_ajax($sql);
echo $result;

权限处理:

<?php

$uid = $_POST[‘uid‘];
$js = $_POST[‘js‘];//是一个字符串
include("database.class.php");
$db = new database();
$arr_job = explode("|",$js);//拆分字符串,放入一个数组中
$result = true;//定义一个变量判断执行结果
//清除用户原有的信息
if(!$db->Query("delete from UserInJueSe where UserId =‘{$uid}‘",1))
{
    $result = $result && false;
}
//添加新信息,循环拆分好的数组
foreach($arr_job as $v)
{
    $sql = "insert into UserInJueSe values(‘‘,‘{$uid}‘,‘{$v}‘) ";
    if(!$db->Query($sql,1))
    {
        $result = $result && false;
    }
}
//判断添加是否成功
if($result)
{
    echo "OK";
}
else
{
    echo "NO";
}



权限设置完毕,即可登录相关网站,根据自身权限显示相应的内容



例子效果图:

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>主页面</title>
<style>
#menu
{
    width:100%;
    height:150px
}

.menu1
{
    width:150px;
    height:50px;
    background-color:#999;
    line-height:50px;
    text-align:center;
    border-radius:5px;
    color:#FFF;
    float:left;
}
.menu1:hover
{
    cursor:pointer;
    background-color:#F60;
}
</style>
</head>

<body>
<?php
session_start();
if(empty($_SESSION[‘uid‘]))
{
    header("location:login.php");
    exit;
}
$uid = $_SESSION[‘uid‘];
?>
<h1 align="center">主页面</h1>
<div><h2>Hello <?php if(!empty($_SESSION[‘uid‘])){echo $_SESSION[‘uid‘];} ?></h2>&nbsp;&nbsp;&nbsp;
<div style="float:right"><a href="login.php">退出系统</a></div></div>
<div id="menu">
      <div class="menu1">权限管理</div>
      <?php
      include ("database.class.php");
      $db = new database();
      //根据uid查角色代号
        $sql_actor_id = "select JueSeId from  UserInJueSe where UserId = ‘{$uid}‘ ";
        $r_actor_id = $db->Query($sql_actor_id);
      //根据角色代号查功能id
          $all = array();//存放所有功能Id
         foreach($r_actor_id as $value_actor_id)
         {
             $sql_rule = "select RuleId from JueSeWithRules where JueSeId = ‘{$value_actor_id[0]}‘ ";
             $r_rule = $db->Query($sql_rule);
             foreach($r_rule as $value_rule)
             {
                 array_push($all,$value_rule[0]);
             }
             $all = array_unique($all);//数组去重
         }
      //根据功能id显示职责
       foreach($all as $value_show)
       {
         $sql_show = "select Name from Rules where Code = ‘{$value_show}‘";
         $r_show = $db->str_ajax($sql_show);
         echo "<div class=‘menu1‘>{$r_show}</div>";
       }
      ?>
</div>
</body>
</html>

时间: 2024-10-08 18:39:12

5.27权限练习的相关文章

ASP.NET通用权限组件实现一

沙发(SF)通用权限验证组件 开篇 上一篇提到了通用权限的设计思路,根据设计思路一步一步的来实现一个相对通用的权限验证组件.在VS2010下用C#语言基于.net framework2.0框架实现具体功能. 配置文件 配置文件为XML格式(SFPermission.xml)公有四个节点分类: 一.AppSet节点:此节点配置一些基础信息. 1 <AppSet> 2 <!--数据库节点名称(必须在Web.config的connectionStrings节点下面)--> 3 <a

粗浅看 java反射机制

什么是  Java 反射是 Java 被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运 行时透过 Reflection APIs 取得任何一个已知名称的class 的内部信息,包括其 modifiers( 诸如 public, static 等 ).superclass (例如 Object). 实现之 interfaces(例如 Cloneable),也包括 fields 和 methods 的所有信息,并可于运行时改变 fields 内容或唤起 methods. Java 反射

吉萨法律时间浪费拉丝粉;阿里山

http://www.ebay.com/cln/tmotshu/book/157890749018/2015.01.27.html http://www.ebay.com/cln/tmotshu/book/157890755018/2015.01.27.html http://www.ebay.com/cln/tmotshu/book/157890757018/2015.01.27.html http://www.ebay.com/cln/tmotshu/book/157890775018/20

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用 成员变量(属性)①类中添加成员变量 访问修饰符 类型 变量名 private String name ②实例化对象调用类的构造方法类构造对象,Teacher one = new Teacher(): 有static的可以直接调用,因为static是类级别的 ③JavaBean里边一般规则应该有公共的无参构造应该有符合命名规范的get/set方法 ④对象的回收:没有任何引用指向该对象时,GC会回收 主动回收:对象 = nu

2015年8月27日课程作业(文件权限管理及grep正则和扩展正则表达式)-JY1506402-19+liuhui880818

学习内容:文件权限管理及grep正则和扩展正则表达式 系统环境:CentOS 6.7/7 x86_64 一.作业(练习)内容: 1.总结本此课程中所涉及命令的使用方法及相关示例展示: 2.总结基本正则表达式及扩展正则表达式 3.显示/etc/passwd文件中以bash结尾的行 4.显示/etc/passwd文件中的两位数或三位数 5.显示`netstat -tan`命令结果中以'LISTEN'后跟0个.1个或者多个空白字符结尾的行 6.添加用户bash.testbash.basher以及nol

5月27日 权限管理

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,我们所做就是为了实现这一功能. 1.main.php页面: 通过ajax可以在当前页面实现对用户的管理权限进行设定,可显示已经设定好的权限,可以增删 2.chuli.php页面: 通过用户代号找到相应的角色代号,将数据传回main.php页面,实现现有权限的选中状态 3.add.php页面; 点击确定按钮,将用户及选中的权限值传到该页面进行操作,添加到数据库 4.log.php页面; 通过用户名,密码登

菜鸟成长记---9.27 VMware horizon view 给域用户添加本地管理员权限

要点就是:域控制器 在管理工具 中 打开域的组策略管理器 在 用户 首选项 本地用户和组里 新建一个 administrators 组 ,添加对应的桌面池 用户组,这个 百度有,可以借鉴下"杜飞" 的博客   http://dufei.blog.51cto.com/382644/1657656 第二个 就是 去 该桌面池的 父虚拟机 里 在他的用户组 Administrators(内置) 里加入 桌面池要授权的用户组,比如 domain users .... 打快照,重构该桌面池就OK

jfinal2.2+easyui1.4.4后台权限管理系统 [2016.05.27 更新]

我的主页:http://www.mxtt.cc    QQ:303629685

10.23 linux任务计划cron10.24chkconfig工具10.25 systemd管理服务10.26 unit介绍 10.27 target介绍

- 10.23 linux任务计划cron - 10.24 chkconfig工具 - 10.25 systemd管理服务 - 10.26 unit介绍 - 10.27 target介绍 - 扩展 1. anacron http://blog.csdn.net/strikers1982/article/details/4787226  2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装) http://blog.sina.com.cn/s/blog_46