第七十八天上课 PHP权限控制

ShenfenGuanLi

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../ZZ-function/js/$Jquery.js"></script>
<title>无标题文档</title>

<br>
<div>请选择用户:&nbsp;
<select>
<?php
include"../ZZ-function/class/uniondatabase.php";
$db=new unionDatabase();
$sql="select ZhangHu,MingZi from yonghu";
$result=$db->query($sql);
foreach($result as $i)
{
    echo"<option value=‘$i[0]‘>$i[1]</option>";
}
?>
</select>
</div>
<div><br>请选择职务:
<?php
$sql="select * from juese";
$result=$db->query($sql);
foreach($result as $i)
{
    echo"<input class=‘JueSe‘ type=‘checkbox‘ value=‘$i[0]‘>$i[1]"."&nbsp;";
}
?>
</div><br />
<div><input id="TiJiao" type="button" value="确定"/></div>

<script type="text/javascript">
$(document).ready(function()
{
    JueSe();
    $("select").change(function()
    {
        JueSe();
    });
    $(‘#TiJiao‘).click(function()
    {
        JueSeTiJiao();
    })
});
function JueSe()
{
    var ZhangHu=$(‘select‘).val();
    $.ajax
    ({
        url:"JueSe.php",
        data:{ZhangHu:ZhangHu,X:1},
        type:"POST",
        dataType:"JSON",
        success: function(e)
        {
            var JueSe=$(‘.JueSe‘);
            JueSe.prop(‘checked‘,false)
            for(var i=0;i<JueSe.length;i++)
            {
                var j=JueSe.eq(i).val();
                for(var x=1;x<e.length;x++)
                {
                    if(e[i][0]==j)
                    {
                        JueSe.eq(i).prop(‘checked‘,true);
                    }
                }
            }
        }
    });
}
function JueSeTiJiao()
{
    var ZhangHu=$(‘select‘).val();
    var JueSeX=$(‘.JueSe‘);
    var JueSe=‘‘;
    for(var i=0;i<JueSeX.length;i++ )
    {
        if(JueSeX.eq(i).prop(‘checked‘))
            JueSe+=JueSeX.eq(i).val()+"|";
    }
    JueSe=JueSe.substr(0,JueSe.length-1);
    $.ajax
    ({
        url:"JueSe.php",
        data:{ZhangHu:ZhangHu,JueSe:JueSe,X:2},
        type:"POST",
        dataType:"TEXT",
        success: function(e)
        {
            alert(e)
        }
    });
}

</script>

JueSe.php

<?php
include"../ZZ-function/class/uniondatabase.php";
$db=new unionDatabase();
$x=$_POST[‘X‘];
if($x==1)
{
    $ZhangHu=$_POST[‘ZhangHu‘];
    $sql="select JueSe from yonghuInjuese where ZhangHu=‘$ZhangHu‘";
    echo $db->queryJson($sql);
}

else if($x==2)
{
    $ZhangHu=$_POST[‘ZhangHu‘];
    $JueSe=$_POST[‘JueSe‘];
    $sql="delete from yonghuInjuese where Zhanghu=‘$ZhangHu‘";
    $result1=$db->query($sql);
    $JueSe=explode("|",$JueSe);
    foreach($JueSe as $i)
    {
        $sql="insert into yonghuInjuese values(‘‘,‘$ZhangHu‘,‘$i‘)";
        $result2=$db->query($sql);
    }
    if($result1||$result2)
        echo"角色修改成功";
    else
        echo"修改失败";
}

DengRu.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登入界面</title>
<style>
*{outline:none;}
form
{
    text-align:center;
    top:20px;
}
form input
{
    border:1px solid #0F0;
}
</style>

<?php
session_start();
if(!empty($_POST[‘submit‘]))
{
    if(empty($_POST[‘ZhangHu‘])||empty($_POST[‘MiMa‘]))
    {
        echo"<script>alert(‘账户或密码不能为空‘)</script>";
    }
    else
    {
        $ZhangHu=$_POST[‘ZhangHu‘];
        $MiMa=$_POST[‘MiMa‘];
        include"../ZZ-function/class/uniondatabase.php";
        $db=new unionDatabase();
        $sql="select count(*) from yonghu where ZhangHu=‘$ZhangHu‘ and MiMa=‘$MiMa‘";
        if($db->queryStr($sql)==1)
        {
            $_SESSION[‘ZhangHu‘]=$ZhangHu;
            header(‘location:main.php‘);
        }
    }
}
?>

<form action="" method="post">
<h1>登入</h1>
<div>账 号: <input type="text" name="ZhangHu"/></div><br>
<div>密 码: <input type="password" name="MiMa"/></div><br>
<div>
    <input type="submit" name="submit" value="登入"/>&nbsp;&nbsp;
    <input type="button" value="复位"/>
</div><br>
</form>

main.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>主界面</title>

<?php
session_start();
if(empty($_SESSION[‘ZhangHu‘]))
{
    header(‘location:DengRu.php‘);
}
include"../ZZ-function/class/uniondatabase.php";
$db=new unionDatabase();
$ZhangHu=$_SESSION[‘ZhangHu‘];
$sql="select JueSe from yonghuinjuese where ZhangHu=‘$ZhangHu‘";
$JueSe=$db->query($sql);
$QuanXian=array();
foreach($JueSe as $i)
{
    $sql="select QuanXian from jueseinquanxian where JueSe=‘$i[0]‘";
    $result=$db->query($sql);

    foreach($result as $j)
    {
        array_push($QuanXian,$j[0]);
    }
}
$QuanXian=array_unique($QuanXian);
echo"<ul>";
foreach($QuanXian as $i)
{
    $sql="select Name from quanxian where DaiHao=‘$i‘";
    $j=$db->queryStr($sql);
    echo"<li>$j</li>";
}
echo"</ul>";
?>
时间: 2024-08-01 20:30:11

第七十八天上课 PHP权限控制的相关文章

Linux (七)权限控制

1. 概述 Linux需要对登录用户读写执行文件.进入目录.查看增删目录内容等操作进行控制,不能任由用户随意执行所有操作. 我们从如下几个方面来认识Linux权限控制体系: 用户管理 用户组管理 文件权限信息 chmod.chgrp.chown命令 2.用户和用户组 所谓用户其实就是登录Linux系统时使用的账号.而用户组则是把相同权限的用户归纳到同一个组内以便于管理,类似于Java开发中权限控制体系里面“角色”的概念. 当我们创建一个账号时如果没有指定属于哪一个用户组,那么Linux就会自动创

BeagleBone Black板第七课:GPIO编程控制

BBB板第七课:GPIO编程控制 在一上课我们通过IO函数做了简单的GPIO端口输出高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过完整的C++程序,实现第四课Shell脚本的全部功能,实现两个LED指示灯的交替闪亮. 直接通过进入功能程序 1.实现echo 44 > export 打开端口功能 上一课简单测试中,通过手工在BBB板终端模式下打开gpio44端口可通过以下程序实现: #include <stdio.h> #define GPIO_DIR "/sy

Java 访问权限控制:你真的了解 protected 关键字吗?

摘要: 在一个类的内部,其成员(包括成员变量和成员方法)能否被其他类所访问,取决于该成员的修饰词:而一个类能否被其他类所访问,取决于该类的修饰词.Java的类成员访问权限修饰词有四类:private,无(默认情况下,包访问权限),protected 和 public,而其中只有包访问权限和public才能修饰一个类(内部类除外).特别地,很多的介绍Java的书籍对protected介绍的比较笼统,常常会对大家造成误解.因此,本文重点揭示了 protected 关键字的内涵和用法,并介绍了一些其他

Java 訪问权限控制:你真的了解 protected keyword吗?

摘要: 在一个类的内部,其成员(包含成员变量和成员方法)是否能被其它类所訪问,取决于该成员的修饰词:而一个类是否能被其它类所訪问,取决于该类的修饰词.Java的类成员訪问权限修饰词有四类:private,无(默认情况下.包訪问权限),protected 和 public,而当中仅仅有包訪问权限和public才干修饰一个类(内部类除外).特别地,非常多的介绍Java的书籍对protected介绍的比較笼统,经常会对大家造成误解. 因此,本文重点揭示了 protected 关键字的内涵和使用方法,并

使用nginx和iptables做访问权限控制(IP和MAC)

之前配置的服务器,相当于对整个内网都是公开的 而且,除了可以通过80端口的nginx来间接访问各项服务,也可以绕过nginx,直接ip地址加端口访问对应服务 这是不对的啊,所以我们要做一些限制 因为只是对特定的人提供服务,而且局域网IP和MAC都是固定的,所以可以直接用白名单,其他的全部拒绝 /**************************************使用nginx做访问权限控制*********************************/ 先在nginx做设置 在/et

rbac 权限控制

RBAC 的控制,大致是通过将角色的权限控制,来控制用户的权限. 需要构建的表为 用户表(user) ,角色表(role),节点表(node),三张主表 , 节点表内记录的是所有的权限和方法. 2张关联表,是为了关联3张数据表的,分别未 角色用户表(user_role),角色权限表(role_node),也可将两张表写成字段分别加入到用户表和权限表内; 废话不多说看下,键表语句如下 用户表: CREATE TABLE `wj_admin` ( `id` int(11) NOT NULL AUTO

译-BMC Remedy Action Request System权限控制概述

原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于ITIL标准的整个IT管理流程的实施定制.该平台可实现多种权限级别的管理,包括人员.组.角色,以及表.字段.行级别等.本文可以用作其他对权限要求比较精细的系统参考. 为了便于理解,部分名词翻译如下: Server:服务器Form (or table):表单Field (or column):字段Acti

基于MVC4+EasyUI的Web开发框架形成之旅--权限控制

我在上一篇随笔<基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍>中大概介绍了基于MVC的Web开发框架的权限控制总体思路.其中的权限控制就是分为"用户登录身份验证"."控制器方法权限控制"."界面元素权限控制"三种控制方式,可以为Web开发框架本身提供了很好用户访问控制和权限控制,使得用户界面呈现菜单.Web界面的按钮和内容.Action的提交控制,均能在总体权限功能分配和控制之下. 本篇文章主要细化这三个方面

Orchard 之:Widget,兼看 Layer 在权限控制中的作用

一:Widget 可以理解为控件,可以直接被页面所引用.行为类似与分部页面,比如,我们可以创建一个 商品列表 Widget,然后这个 Widget 就可以被很多页面所引用. 理解 Widget 这个概念,我们不得不理解另外两个概念: 1:Layer Orchard 默认有这么几个层,Default.Authenticated.Anonymous.Disabled.TheHomepage.Layer 用于承载什么时候 Widget 将会被展现,这么讲大家一定觉得很抽象,其实 Layer 存在的意义