扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
显示没有权限,看看用户名有没有起作用。Access denied for user ''@'localhost' ,中间没有提示用户名是什么。
创新互联建站是一家专注于成都网站制作、成都网站建设与策划设计,昌邑网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:昌邑等地区。昌邑做网站价格咨询:18980820575
或者是该用户没有对数据库操作权限,可以用phpMyAdmin登录对其权限修改。
利用session和cookie实现,
session是保存在服务器的会话记录,当管理员登陆后,对于每个管理操作,都有一段PHP代码用于检查session中的用户是否管理员身份,是则允许管理操作;
cookie是保存在浏览器的登陆数据,譬如登陆之后浏览器存下了用户名和登陆密码,每次与服务器的会话都向服务器发送cookie的数据,此过程中PHP提取cookie里的用户名和密码信息进行校验,通过后允许管理操作。
这个网上方法挺多的,个人认为最简单的就是在管理员表加个权限字段,在显示栏目处加个判断,不过这种方法不是很安全;再就是在数据库建张node表、role表、role_user表、access表,其中node表存放结点,也就是栏目,role表存放权限,role_user表就是用户权限表,access表存放node_id、role_id等,不过中间有好多细节需要好好琢磨
if(){ //有权限 echo "form ";echo "input type='' ";echo "/form";}else //不显示{}
相当于PHP里判断有权限就输出带表单的语句 否则不输出 这样客户端就看不到了
可以使用acl控制实现,参考acl全集如下:
1、角色表
角色id - 用户组id - 特殊权限id(其中特殊权限 用户组所包含权限)
2、用户组表
用户组id - 用户组信息
3、权限表
权限表id - 权限信息 - 与功能模块的关系
4、用户组-权限关联表
用户组id - 权限集合
5、特殊权限表
特殊权限id - 权限集合
注意:
1、设置权限的删除、添加主要围绕在 用户组-权限关联表、特殊权限表。
2、用户的权限获取则是验证登陆的时候通过用户组和特殊权限获取权限集合。
3、展示的时候,根据2获取的权限集合从权限表获取所有功能模块的导航菜单。
我在遇到权限分级的时候是用$_SESSION来控制的,值是1就允许查看,是0就不允许
可在登陆的时设置,也可以在查询的时候设置
然后根据$_SESSION设置sql语句,大致如下
在登陆时根据filldname字段设置$_SESSION
if($row["filldname"]=="price"){
$_SESSION["quanxian"]=1;
}else{
$_SESSION["quanxian"]=0;
}
然后查询时根据条件设置sql语句
if($_SESSION["quanxian"]==1){
$sql="select po,pohh,wlbh,gysdm,dj,pddte from table where 查询条件";
}else{
$sql="select po,pohh,wlbh,gysdm,pddte from table where 查询条件";
}
大致上就是这样
期待更出色的答案
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流