程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 基於php權限分配的實現代碼

基於php權限分配的實現代碼

編輯:PHP綜合
小編今天寫下關於後台管理員權限的分配自己的思路想法
復制代碼 代碼如下:
<?php
 /**reader
 * 小編的思想比較簡單實現的功能
 * 首先每個欄目的id號是固定不變的 然後 總管理員
 * 創建個管理員之後 給該管理員分配權限的時候  把相應的欄目勾選上
 * 這樣把欄目的 id 號 就插入到數據庫裡面了,當這個管理員登錄之後
 * 獲得這個管理員 應有的的欄目id 號 。左邊的導航 根據當前的欄目id在不在該管理員的
 * 欄目id號裡 來判斷顯示或者不顯示呢..
 */
 header("Content-type:text/html;charset=utf-8");
 error_reporting(E_ERROR);
    $act = $_GET['act'];
    $conn = mysql_connect('localhost','root','root');
    mysql_select_db('study',$conn);
    mysql_query('set names utf8');
    if($act == "add"){       //這裡是添加的方法
        $prom = $_POST['prom'];
        /*
     獲得欄目id後將數組分割成字符串  插入數據庫
        因為數據庫沒提供插入數組的字段類型
        */
        $par = implode(',',$prom);
        //這裡就以admin 這個用戶來舉例
        $sql = "insert into rc_admin(admin_name,pres) values('admin','$par')";
        mysql_query($sql);
        if(mysql_insert_id()>0){
            echo "success";
        }else{
            echo "error";
        }
    }
 ?>
<form method="post" action="index.php?act=add">
 <table><tr>
      <td>獵頭服務</td>
      <td><input name="prom[]" type="checkbox" id="prom[]" value="1"/>
        添加獵頭企業<br />
        <input name="prom[]" type="checkbox" id="prom[]" value="2"/>
        獵頭企業<br />
        <input name="prom[]" type="checkbox" id="prom[]" value="3"/>
        獵頭職位<br />
        <input name="prom[]" type="checkbox" id="prom[]" value="4"/>
企業申請(下單)<br />
<input name="prom[]" type="checkbox" id="prom[]" value="5"/>
 獵頭申請管理<br />
      </td>
    </tr>
    <tr>
      <td>懸賞招聘</td>
      <td><input name="prom[]" type="checkbox" id="prom[]" value="6"/>
        添加懸賞企業<br />
        <input name="prom[]" type="checkbox" id="prom[]" value="7"/>
        管理懸賞企業<br />
        <input name="prom[]" type="checkbox" id="prom[]" value="8"/>
        管理懸賞職位</td>
    </tr>
    </table>
    <input type="submit"  value="提交" name='sub'>
    </form>

這個是權限分配的頁面 以勾選的表示他已經有這個權限了(管理員的權限應該是有admin分配的)


左邊的導航欄目根據當一個管理員登錄過後 獲取這個獲取這個管理員的cookie
復制代碼 代碼如下:
//這裡應該是登錄過後的獲取的cookie值
$sql = "select * from rc_admin where adminid = 1";
$res = mysql_query($sql);
$list = mysql_fetch_assoc($res);
/*
    或得這個數據之後 用explode 將他分割成數組
 然後判斷欄目的id值在不在 數組中在的話就顯示這個欄目
*/
$pros = $list['pres'];
$pros = explode(',',$pros);

//用in_array()函數進行判斷這個欄目id 在不在$pros 在的話就顯示 不在就不顯示

<table width="146" border="0" cellspacing="0" align="center" cellpadding="0" class="leftmenulist" style="margin-bottom: 5px;">
<tr class="leftmenutext"><td><a href="###" onclick="collapse_change(6)">
<img id="menuimg_6" src="css/menu_add.gif" border="0"/></a> <a href="###" >懸賞招聘</a></td></tr>
<? if (in_array(6, $pros)){?>
<tr><td><a href="admincp.php?action=reward_add" target="main">添加懸賞企業</a></td>
</tr>
<?
}
?>
<? if (in_array(7, $pros)){?>
<tr><td><a href="admincp.php?action=reward_manage" target="main">管理懸賞企業</a></td>
</tr>
<?
}
?>
<? if (in_array(8, $pros)){?>
<tr><td><a href="admincp.php?action=bizcate_manage" target="main">管理懸賞職位</a></td>
</tr>
<?
}
?>
</table>

這是左邊的欄目導航

 
這裡就根據這個管理員登錄他應有的權限顯示相應的欄目了。。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved