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

(编辑:jimmy 日期: 2024/11/16 浏览:2)

小编今天写下关于后台管理员权限的分配自己的思路想法
复制代码 代码如下:
<?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="/UploadFiles/2021-04-02/menu_add.gif"><? 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权限分配的实现代码 
这里就根据这个管理员登录他应有的权限显示相应的栏目了。。


一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。