欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-21 15:19:58
小编今天写下关于后台管理员权限的分配自己的思路想法复制代码 代码如下:
小编今天写下关于后台管理员权限的分配自己的思路想法
复制代码 代码如下:

<?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权限分配的实现代码 
这里就根据这个管理员登录他应有的权限显示相应的栏目了。。