① php 登录权限问题,同一个页面,权限不一样,登录以后看到的功能也不一样,谁有代码最好贴出来
-----------------------------------------以下是设置权限比较常用的一种
1----你用mysql或记事本等工具储存用户信息的时候加一个字段”user_rank“,用于判断用户的级别(如:管理员值user_rank=admin、普通用户user_rank=user)。
2----你在所使用的页面前可以提取当前用户的user_rank值,然后用if语句来判断用户级别,分配给当前用户一定的权限代码如下:
if($user_rank == "admin")
{
/*对管理员显示的页面输出*/
//执行删除的语句
//执行增加的语句
}
else if($user_rank == "user")
{
/*对普通用户,执行浏览*/
}
----------------------------------------------------------------
不明白再问我。
② 如何用PHP根据用户权限,显示对应的菜单想找一下相关的例子,希望各路大佬多多指教
把菜单成一个数据库表,指定一个键。如:
id:1, title:文章管理, icon: document, url: admin/article/index (更多字段根据需要设置)
id:2, title:产品管理, icon: cube, url: admin/proct/index
id:3, title:系统设置, icon: setting, url: admin/setting/index
然后在管理员表中添加一个varchar(500) (长度根据你的菜单总数估计)或text字段
在管理员权限管理中列出所有菜单项,把id作为健值,选中的保存在管理员表的权限字段中
格式类似: 1,2,3
然后在输出菜单的时候进行权限判断
//将权限字段切割成数组
$perms = explode(',', $user['permission']);
foreach($menus as $menu){
if(in_array($perms, $menu['id'])){
echo '<a href="'. $menu['url'].'" >'.$menu['title'].'</a>';
}
}
然后在每个页面根据页面对应的权限id做一个判断
//比如在文章页面
if(!in_array($perms, 1)){
exit('没有权限');
}
以上是大体思路,具体根据你的系统设计编写代码并对应地优化。
③ php权限管理如何实现
可以使用acl控制实现,参考acl全集如下:
1、角色表
角色id - 用户组id - 特殊权限id(其中特殊权限 > 用户组所包含权限)
2、用户组表
用户组id - 用户组信息
3、权限表
权限表id - 权限信息 - 与功能模块的关系
4、用户组-权限关联表
用户组id - 权限集合
5、特殊权限表
特殊权限id - 权限集合
注意:
1、设置权限的删除、添加主要围绕在 用户组-权限关联表、特殊权限表。
2、用户的权限获取则是验证登陆的时候通过用户组和特殊权限获取权限集合。
3、展示的时候,根据2获取的权限集合从权限表获取所有功能模块的导航菜单。
④ php里,管理员登录,就可以修改数据库数据,这个权限的原理是什么
利用session和cookie实现,
session是保存在服务器的会话记录,当管理员登陆后,对于每个管理操作,都有一段PHP代码用于检查session中的用户是否管理员身份,是则允许管理操作;
cookie是保存在浏览器的登陆数据,譬如登陆之后浏览器存下了用户名和登陆密码,每次与服务器的会话都向服务器发送cookie的数据,此过程中PHP提取cookie里的用户名和密码信息进行校验,通过后允许管理操作。