基于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>
这是左边的栏目导航
这里就根据这个管理员登录他应有的权限显示相应的栏目了。。