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

Php会员权限_PHP教程

程序员文章站 2022-04-14 17:01:42
...
echo $uu=@array_sum(@$_POST['gr']);
?>

ADD>
UPD>
LIS>
DEL>




mysql_connect("localhost","root","");
mysql_select_db("db99");
mysql_query("set names'UTF8'");
define('ADD', 1);
define('UPD', 2);
define('LIS', 4);
define('DEL', 8);
?>


include_once('config.php');
$sql="select * from `user_admin` as a,`user_group`
as b where a.`gro`=b.`sid` and a.`uname`=''";
$query=mysql_query($sql);
$rs=mysql_fetch_row($query);
if($rs[6]&ADD){
echo "有权限";
}else{
echo "无权限";
}
?>

这里主要使用了二进制的方法 这是一种思路,所以定义常量的时候 必须是2的N次方才行。
define('ADD', 1); //1 转化二进制
define('UPD', 2); //10
define('LIS', 4); //100
define('DEL', 8); //1000

$sy = ADD | UPD | LIS | DEL;
echo "所有权限" . decbin($sy);
$ny = $sy ^ (UPD | DEL);
echo "没有删除和更新权限" . decbin($ny);

在PHP中要判断一个数在某些数范围内就可以使用 & 运算符。
& 是位运算,不是 && 逻辑运算 (位运算符:& | ^ ~)
例如:7=4|2|1  ===》 $sy = 4|2|1
这里的或是指的可以能包含的内容值,在位运算里其实可以简单理解成 7=4+2+1,
用 & 来操作,可以知道7&4、7&2、7&1都是真的,而如果7&8则是假的。
我们还可以用^ 来从包含的值内去除:如 $ny = $sy ^ 2
这样一来,$ny 只有 4|1 如果做判断也就只有 $ny&4、$ny&1

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/815977.htmlTechArticle?php echo $uu=@array_sum(@$_POST['gr']); ? form action="" method="POST" ADDinput type="checkbox" name="gr[]" value=1 ?php echo $uu1?"checked":null;? UPDinput type="checkbox" name="...
相关标签: php 会员权限