先读出现有的权限,根据权限设定CheckBox的属性,修改就可以了

解决方案 »

  1.   

    我现在正在做一个php+oracle的项目,现把权限管理这部分代码贴给你,希望能给你带来帮助:
    <?php
    include_once("check.php");
    include_once("../incs/phpClass.php");
    if(empty($isState))
    {
    $isState="";
    }
    if(empty($_SESSION["W_groupErr"])){
    $_SESSION["W_groupErr"]="";
    }
    if(empty($act)){
    $act="";
    }
    if(strtolower($act)=="change" || strtolower($act)=="see"){
    if($dbh->rightMang(10001,"change") || $dbh->rightMang(10001,"see")){
    $sql="";
    $sql="select * from w_GroupTable where w_GroupID=$w_GroupID";
    $arrayContent = $dbh->dbresult($sql);
    if(sizeof($arrayContent)<1){
    echo "查询有误!";
    exit();
    }
    }else{
    $act="";
    }
    }if(strtolower($act)=="del"){
    if($dbh->rightMang(10001,"del")){
    $sql="";
    $sql="delete from w_GroupTable where w_GroupID=$w_GroupID";
    $dbh->dbexec($sql);
    $dbh->set_W_Log($sql,4);
    $sql="";
    $sql="update w_AdminUser set w_GroupID=0 where w_GroupID=$w_GroupID";
    $dbh->dbexec($sql);
    $sql="";
    $sql="delete from w_groupright where w_GroupID=$w_GroupID";
    $dbh->dbexec($sql);
    }else{
    echo "您没有此权限!";
    }
    }
    if(trim($isState)=="addNew"){
    //添加一个权限组
    //checkRepeat($keyword,$table,$field,$act,$ID,$IDField)
    if($dbh->rightMang(10001,"add")){
    if($dbh->checkRepeat(db(trim($GroupName)),"w_GroupTable","GroupName",0,0,"w_GroupID")){
    $maxID = $dbh->getMaxID("w_GroupTable","w_GroupID",1);
    $sql="";
    $sql="insert into w_GroupTable(w_GroupID,GroupName,GroupDesc) values($maxID,'".db(trim($GroupName))."','".db(trim($GroupDesc))."')";
    $dbh->dbexec($sql);
    $dbh->set_W_Log($sql,2);
    $sql="";
    if(!empty($mo)){
    foreach((array)$mo as $moVal){
    for($i=1;$i<=4;$i++){
    $rightVal="";
    $rightVal="a".$moVal."0".$i;
    if(!empty(${$rightVal})){
    //在此处用到了可变变量${$rightVal}
    $sql="";
    if($i==1){
    //查看
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$maxID,".$dbh->getW_GroupID($moVal).",1,0,0,0)";
    }elseif($i==2){
    //添加
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$maxID,".$dbh->getW_GroupID($moVal).",0,1,0,0)";
    }elseif($i==3){
    //修改
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$maxID,".$dbh->getW_GroupID($moVal).",0,0,1,0)";
    }elseif($i==4){
    //删除
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$maxID,".$dbh->getW_GroupID($moVal).",0,0,0,1)";
    }
    $dbh->dbexec($sql);
    }
    }
    }
    }
    }else{
    $_SESSION["W_groupErr"]="此用户权限组已存在!";
    }
    }else{
    echo "您没有此权限!";
    }
    }if(trim($isState)=="change"){
    //修改一个权限组
    //checkRepeat($keyword,$table,$field,$act,$ID,$IDField)
    if($dbh->rightMang(10001,"change")){
    if($dbh->checkRepeat(db(trim($GroupName)),"w_GroupTable","GroupName",1,$w_GroupID,"w_GroupID")){
    //更新w_GroupTable表
    $sql="";
    $sql="update w_GroupTable set GroupName='".db(trim($GroupName))."',GroupDesc='".db(trim($GroupDesc))."' where w_GroupID=$w_GroupID";
    $dbh->dbexec($sql);
    $dbh->set_W_Log($sql,3);
    //先删除w_groupright表里w_GroupID=$w_GroupID的内容,然后再insert into进去权限
    $sql="";
    $sql="delete from w_groupright where w_GroupID=$w_GroupID";
    $dbh->dbexec($sql);

    $sql="";
    if(!empty($mo)){
    foreach((array)$mo as $moVal){
    for($i=1;$i<=4;$i++){
    $rightVal="";
    $rightVal="a".$moVal."0".$i;
    if(!empty(${$rightVal})){
    //在此处用到了可变变量${$rightVal}
    $sql="";
    if($i==1){
    //查看
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$w_GroupID,".$dbh->getW_GroupID($moVal).",1,0,0,0)";
    }elseif($i==2){
    //添加
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$w_GroupID,".$dbh->getW_GroupID($moVal).",0,1,0,0)";
    }elseif($i==3){
    //修改
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$w_GroupID,".$dbh->getW_GroupID($moVal).",0,0,1,0)";
    }elseif($i==4){
    //删除
    $sql="insert into w_groupright(w_GroupRightID,w_GroupID,w_RightID,RightSee,RightAdd,RightChange,RightDel) values(".$dbh->getMaxID("w_groupright","w_grouprightID",1).",$w_GroupID,".$dbh->getW_GroupID($moVal).",0,0,0,1)";
    }
    $dbh->dbexec($sql);
    }
    }
    }
    }
    }else{
    $_SESSION["W_groupErr"]="此用户权限组已存在!";
    }
    }else{
    echo "您没有此权限!";
    }
    }?>
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
    <meta HTTP-EQUIV="Expires" CONTENT="0"> 
    <meta name="Author" content="李委霖">
    <link rel="stylesheet" href="../incs/css.css">
      

  2.   

    <script language="JavaScript1.2">
    function del(w_GroupID) {
    //单条记录删除
    if(confirm("您确定要删除此条记录吗?")){
    window.location.href="?act=del&w_GroupID=" + w_GroupID;
    return;
    }else{
    return false;
    }
    } function checkSubmit(){
    var e=document.form1;
    if(Trim(e.GroupName.value)==""){
    e.GroupName.value.value="";
    alert("权限组名不能为空!\n");
    e.GroupName.focus();
    return false;
    }
    if(Trim(e.GroupDesc.value)==""){
    e.GroupDesc.value.value="";
    alert("权限组描述不能为空!\n");
    e.GroupDesc.focus();
    return false;
    }
    }
    function Trim(str){
     if(str.charAt(0) == " "){
      str = str.slice(1);
      str = Trim(str); 
     }
     return str;
    } function checkAllCheckBox(isStat){
    if(isStat=="1"){
    //全选
    for(var i=0;i<form1.elements.length;i++)
    {
       var e=form1.elements[i];
       if(e.type=="checkbox")
      e.checked=true;
    }
    }else if(isStat=="2"){
    //全反选
    for(var i=0;i<form1.elements.length;i++)
    {
       var e=form1.elements[i];
       if(e.type=="checkbox")
      if(e.checked==true){
    e.checked=false;
      }else{
    e.checked=true;
      }
    }
    }else if(isStat=="3"){
    //全不选
    for(var i=0;i<form1.elements.length;i++)
    {
       var e=form1.elements[i];
       if(e.type=="checkbox")
      e.checked=false;
    }
    }
    }
    </script>
    </head>
    <body>
      

  3.   

    <?php
    if($dbh->rightMang(10001,"see")){
    //有查看权限
    $isState="addNew";
    $butTitle="添加";
    if(strtolower($act)=="change"){
    $isState="change";
    $butTitle="修改";
    }elseif(strtolower($act)=="see"){
    $isState="see";
    $butTitle="查看";
    }

    ?>
    <form name="form2" action="setRight.php" method="post">
        <table width="70%" border="0" align="center" cellspacing="1" bgcolor="#336699">
      <tr>
    <td height="30" colspan="3" align="center" valign="middle" class="tb-bg"><b><font size="3" color="#FFFFFF">用户权限组列表管理</font></b></td>
      </tr>
      <?php
    if(trim($_SESSION["W_groupErr"])!=""){
      ?>
      <tr bgColor="#FFFFFF">
    <td height="30" colspan="3" align="center" valign="center"><b><font color="#FF0000">错误:</font><?=trim($_SESSION["W_groupErr"]);?></b></td>
      </tr>
      <?php
    }
      ?>
      <tr bgcolor="#FFFFFFF"> 
    <td width="10%" align="center"><b>ID编号</b></td>
    <td width="50%" align="center"><b>用户权限组名</b></td>
    <td width="40%" align="center"><b>操作</b></td>
      </tr>
      <?php
    $sql="";
    $sql="select * from w_GroupTable Order By w_GroupID ASC";
    $array = $dbh->dbresult($sql);
    if($dbh->rightMang(10001,"change")){
    $change="";
    }else{
    $change="disabled";
    }
    if($dbh->rightMang(10001,"del")){
    $del="";
    }else{
    $del="disabled";
    }
    if($dbh->rightMang(10001,"add")){
    $add="";
    }else{
    $add="disabled";
    }
    $i=0;
    while($i<sizeof($array))
    {
      ?>
      <tr bgcolor="#FFFFFF"> 
    <td align="center"><?=$array[$i]["W_GROUPID"]?></td>
    <td align="center"><?=$array[$i]["GROUPNAME"]?></td>
    <td align="center"><input type="button" value="删除" <?=$del?> onClick="javaScript:del(<?=$array[$i]["W_GROUPID"]?>);"> <input type="button" onClick="JavaScript:window.location.href='?act=change&w_GroupID=<?=$array[$i]["W_GROUPID"]?>'" value="修改" <?=$change?>> <input type="button" onClick="JavaScript:window.location.href='?act=see&w_GroupID=<?=$array[$i]["W_GROUPID"]?>'" value="查看"></td>
      </tr>
      <?php
    $i++;
    }
      ?>
    </table>
    </form>
    <form name="form1" action="setRight.php" method="post" onSubmit="return checkSubmit();">     
        <table width="70%" border="0" align="center" cellspacing="1" bgcolor="#336699">
          <tr>
            <td height="30" colspan="2" align="center" valign="middle" class="tb-bg"><b><font color="#FFFFFF" size="3"><?=$butTitle?></font><font color="#FFFFFF" size="3">用户权限组</font></b></td>
          </tr>
      <tr>
            <td width="20%" Bgcolor="#FFFFFFF" align="center"><b>权限组名:</b></td>
            <td width="90%" bgcolor="#FFFFFF" align="left"><input type="text" name="GroupName" maxlength="50" value='<? if(strtolower($act)=="change" || strtolower($act)=="see") echo trim($arrayContent[0]["GROUPNAME"]); ?>'>(<font color="#FF0000">***</font>)</td>
          </tr>
      <tr>
            <td width="20%" Bgcolor="#FFFFFFF" align="center"><b>权限组描述:</b></td>
            <td width="80%" bgcolor="#FFFFFF" align="left"><textarea name="GroupDesc" rows="10" cols="35"><? if(strtolower($act)=="change" || strtolower($act)=="see") echo trim($arrayContent[0]["GROUPNAME"]); ?></textarea>(<font color="#FF0000">***</font>)</td>
          </tr>