php 后台权限判断问题,有这权限就显示出来没有就隐藏
权限0显示所有,权限1是新闻,权限2是产品,权限3是留言A用户权限:0B用户权限:1,2C用户权限:2,3已经把对应的用户权限写进了数据库里面字段名叫:$rs['poe'...
权限0显示所有,权限1是新闻,权限2是产品,权限3是留言
A用户权限:0
B用户权限:1,2
C用户权限:2,3
已经把对应的用户权限写进了数据库里面字段名叫:$rs['poe']
问题出现了,下面是我判断不出
if($rs['poe']==0,1)
{
新闻
}
if($rs['poe']==0,2)
{
产品
}
if($rs['poe']==0,3)
{
留言
}
我想表达的是高级用户可以访问所有东西,B用户只能访问新闻和产品,C用户只能访问产品和留言
上面的判断写法肯定是错的,我就想请问大侠们应该怎样正确的写 展开
A用户权限:0
B用户权限:1,2
C用户权限:2,3
已经把对应的用户权限写进了数据库里面字段名叫:$rs['poe']
问题出现了,下面是我判断不出
if($rs['poe']==0,1)
{
新闻
}
if($rs['poe']==0,2)
{
产品
}
if($rs['poe']==0,3)
{
留言
}
我想表达的是高级用户可以访问所有东西,B用户只能访问新闻和产品,C用户只能访问产品和留言
上面的判断写法肯定是错的,我就想请问大侠们应该怎样正确的写 展开
3个回答
展开全部
<?php
$data=array("1"=>"新闻","2"=>"产品","3"=>"留言");
//定义各个权限的数据数组
$tmp="";
foreach($data as $val){
$tmp.=$val;
}
$data["0"]=$tmp;
//合成超级权限显示的数据,合成的语言是方便扩展,不用亲自去定义超级权限对应的数据
$rights=explode(",",$rs['poe']);//分割权限
foreach($rights as $val){
echo $data[$val];//根据权限输出数据
//用数组输出方便扩展,避免烦人的各种判断if或switch,你现在需要修改的仅仅是data数组
}
//说明:0权限只能单独写,不能存在0,2这种形式
?>
更多追问追答
追问
第二行出错
追答
<?php
$rs['poe']="1,2";
$data=array("1"=>"新闻","2"=>"产品","3"=>"留言"); //输成中文模式的逗号了,我没测试
//定义各个权限的数据数组
$tmp="";
foreach($data as $val){
$tmp.=$val;
}
$data["0"]=$tmp;
//合成超级权限显示的数据,合成的语言是方便扩展,不用亲自去定义超级权限对应的数据
$rights=explode(",",$rs['poe']);//分割权限
foreach($rights as $val){
echo $data[$val];//根据权限输出数据
//用数组输出方便扩展,避免烦人的各种判断if或switch,你现在需要修改的仅仅是data数组
}
//说明:0权限只能单独写,不能存在0,2这种
展开全部
if 判断条件 || 为或, ||只要满足一个即可
if($rs['poe']==0 || $rs['poe']==1)
if($rs['poe']==0 || $rs['poe']==1)
追问
$rs['poe']==0就能显示出来了
C用户权限是2和3,应该是显示产品和留言,但只是显示不了
追答
我没看到你具体的代码,猜测是你权限数据处理出错,b,c 权限是数组,你的处理出来再做比较.否则数字跟数组比较,结果肯定是否了.
<!--权限1是新闻,权限2是产品,权限3是留言 -->
<?php
function display($rights,$ch){
if($rights==0){return true;} //为0处理
$power=explode(",",$rights);
for ($i= 0;$i< count($power); $i++)
{
if($power[$i]==$ch) {return true;} //
}
}
$rs['poe']="1,2"; //读取某用户权限
if(display($rs['poe'],2)) //判断权限,2指权限内容可为1,2,3
{echo "ok";} //执行具有权限的内容
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if($rs['poe']==0 || $rs['poe']==1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询