zoukankan      html  css  js  c++  java
  • 权限练习

    自己写的过程中卡了几卡,问题都是粗心不仔细的造成的,一定要细心的说……

    denglu.php

    <!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>
    </head>
    
    <body>
    <h1>登录</h1>
    <form action="dlchuli.php" method="post">
    <div>请输入用户名:<input type="text" name="uid"/></div><br />
    
    <div>请输入密码:&nbsp;&nbsp;<input type="text" name="pwd" /></div><br />
    
    <div><input type="submit" value="登录"/></div>
    </form>
    </body>
    </html>

    dlchulu.php

    <?php
    session_start();
    $uid=$_POST["uid"];
    $pwd=$_POST["pwd"];
    
    include("ChaXun.class.php");
    $db=new ChaXun();
    $sql="select count(*) from users where username='{$uid}' and password='{$pwd}'";
    $r=$db->StrQuery($sql);
    if($r==1)
    {
        $_SESSION["uid"]=$uid;
        header("location:main.php");
    }
    else
    {
        header("location:denglu.php");
    }

    main.php

    <!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 type="text/css">
    *{
        margin:0px;
        padding:0px;
     }
     #menu{
         width:100%;
         height:40px;     
         }
     .qx{
         width:100px;
         height:40px;
         line-height:40px;
         font-size:18px;
         text-align:center;
         vertical-align:middle;
         background-color:#FFE1FF;
         color:#666;
         float:left;
         }
    .qx:hover{
        background-color:#FF0;
        color:#000;
        cursor:pointer;    
        }
    </style>
    </head>
    
    <body>
    <?php
    session_start();
    if(empty($_SESSION["uid"]))
    {
        header("location:denglu.php");
        exit;
    }
    $uid=$_SESSION["uid"];
    include("ChaXun.class.php");
    $db=new ChaXun();
    
    ?>
    <h1>主页</h1>
    <br />
    <a href="denglu.php">退出 <?php echo $uid; ?></a>
    <div id="menu">
    <div class="qx">权限管理</div>
    <?php
        $jsid="select jueseid from userinjuese where userid='{$uid}'";
        $ajsid=$db->Query($jsid);
        //根据角色代号找到对应的功能
          $all = array();//存储该用户所有的功能代号
            foreach($ajsid as $vjs)
            { 
                $sqlrule="select ruleid from juesewithrules where jueseid='{$vjs[0]}'";
                $arule=$db->Query($sqlrule);
                    foreach($arule as $vrule)
                    {
                        array_push($all,$vrule[0]);
                        
                    }
            }
            
            
            $all=array_unique($all);
            foreach($all as $vall)
            {
                $sn = "select name from rules where code ='{$vall}'";
                $name = $db->StrQuery($sn);
                
                echo "<div class='qx'>{$name}</div>";
            }
        
    ?>
    
    </div>
    </body>
    </html>

    quanxian.php

    <!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" />
    <script src="../jquery-1.11.2.min.js"></script>//引入jquery包
    <title>权限管理</title>
    </head>
    
    <body>
    <h1>权限管理</h1>
        <div>请选择用户:<select id="user">
                 <?php
                 include("ChaXun.class.php");
                 $db=new ChaXun();
                 $sql="select * from users ";
                 $attr=$db->Query("$sql");
                 foreach($attr as $v)//遍历users,获取所有的name
                 {
                     echo"<option value='{$v[0]}'>{$v[2]}</option>";
                 }             
                 ?>             
                 </select>
        </div><br />
    
        <div>请选择角色:<?php
                      $sql="select * from juese";
                      $attr=$db->Query($sql);
                      foreach($attr as $v)
                      {
                        echo"<input type='checkbox' class='ck' value='{$v[0]}'/>{$v[1]}&nbsp;";//遍历所有的角色,前面+checkbox
                      }
                      ?>
        </div><br />
    
    <div><input type="submit" value="确定" id="btn" /></div> //点击确定提交所选的内容
    
    </body>
    <script type="text/javascript">
    $(document).ready(function(e) {
        
           showjuese();//一打开页面用户的角色需要显示,所以写成function调用
        $("#user").change(function(){
            
            showjuese();//改变用户时也需要调用
            
            })
        function showjuese()
        {
            var uid=$("#user").val();//获取用户名
            $.ajax({                 //调用ajax
                url:"showjuese.php",//跳转到showjuese页面
                data:{uid:uid},    //获取到的用户名给uid
                type:"POST",       //post传值
                dataType:"TEXT",   
                success: function(data){
                    //alert(data.trim());
                    var shuju=data.trim().split("|");//将showjuese.php返回的jueseid以"|"分隔开
                    
                    var ck=$(".ck");//获取所有的checbox
                    ck.prop("checked",false);//选中之前先清空
                    for(var i=0;i<ck.length;i++)
                        {
                            var v=ck.eq(i).val();
                            
                            //alert($.inArray(v,shuju));
                            if($.inArray(v,shuju)>=0)//判断v是否存在于shuju中
                            {
                                ck.eq(i).prop("checked",true);
                            }                                                
                            
                        }
                    }            
                
                });
            
        }        
        
    });
    $("#btn").click(function(){//点击确定提交数据到数据库
          var uid=$("#user").val();
          var ck=$(".ck");
          var str="";
              for(var i=0;i<ck.length;i++)
              {
                  if(ck.eq(i).prop("checked"))
                  {
                      str=str+ck.eq(i).val()+"|";//选中的jueseid用"|"拼起来拼为一个字符串放在str中
                      //alert(str);
                  }
              }
              //alert(str.substr(0,str.length-1));
              str=str.substr(0,str.length-1);//去除最后多余的"|"
              $.ajax({
                  url:"insert.php",//跳转到insrt.php页面处理
                  data:{uid:uid,juese:str},//传两个数据给insert.php
                  type:"POST",
                  dataType:"TEXT",
                  success: function(data){
                      
                      if(data.trim()=="OK")
                        {
                            alert("添加成功!");
                        }
                    else
                        {
                            alert("添加失败!");
                        }
                      
                      }
                  
                  
                  
                  });
        
        
        })
    
    </script>
    </html>

    insert.php

    <?php
    include("ChaXun.class.php");
    $db=new ChaXun();
    $uid = $_POST["uid"];
    $js = $_POST["juese"];
    
    $juse = explode("|",$js);//将接收过来的字符串拆分为数组
    
    $bs = true;
    
    
    $sqldel = "delete from UserInJueSe where UserId = '{$uid}' ";//更改选项之前清空一下
    if(!$db->Query($sqldel,1))
    {
        $bs = $bs && false;
    }
    
    //添加角色信息
    foreach($juse as $v)
    {
        $sql = "insert into UserInJueSe values('','{$uid}','{$v}')";
        if(!$db->Query($sql,1))
        {
            $bs = $bs && false;
        }
    }
    
    if($bs)
    {
        echo "OK";
    }
    else
    {
        echo "NO";
    }

    showjuese.php

    <?php
    $uid=$_POST["uid"];
    include("ChaXun.class.php");
    $db=new ChaXun();
    $sql="select jueseid from userinjuese where userid='{$uid}'";
    echo $db->StrQuery($sql);
  • 相关阅读:
    Selenium IDE
    selenium简介
    Java程序要操作数据库,一定要使用JDBC技术吗?
    JDBC几个接口分区叫什么?它们分别有什么用?
    JDBC的全称是什么?
    什么时候使用session?什么时候使用application?
    内置对象session和application的作用是什么?
    修改表单中为什么要使用隐藏域?
    如何创建一个不能修改的属性?
    如何修改属性?
  • 原文地址:https://www.cnblogs.com/nannan-0305/p/5538350.html
Copyright © 2011-2022 走看看