基於php許可權分配的實現代碼

來源:互聯網
上載者:User

小編今天寫下關於後台管理員權限的分配自己的思路想法
複製代碼 代碼如下:<?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>

這是左邊的欄目導航


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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.