自己写的过程中卡了几卡,问题都是粗心不仔细的造成的,一定要细心的说……
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>请输入密码: <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]} ";//遍历所有的角色,前面+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);