基于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分配的)

基于php权限分配的实现代码

左边的导航栏目根据当一个管理员登录过后 获取这个获取这个管理员的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>

  

这是左边的栏目导航

基于php权限分配的实现代码

  这里就根据这个管理员登录他应有的权限显示相应的栏目了。。