<?php
echo $uu=@array_sum(@$_POST['gr']);
?>
<form action="" method="POST">
ADD<input type="checkbox" name="gr[]" value=1 <?php echo $uu&1?"checked":null;?>>
UPD<input type="checkbox" name="gr[]" value=2 <?php echo $uu&2?"checked":null;?>>
LIS<input type="checkbox" name="gr[]" value=4 <?php echo $uu&4?"checked":null;?>>
DEL<input type="checkbox" name="gr[]" value=8 <?php echo $uu&8?"checked":null;?>>
<input type="submit" value="提交" />
</form>

<?php
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);
?>

<?php
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次方才行。
<?php
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

Php会员权限的更多相关文章

  1. 开源 免费 java CMS - FreeCMS1.9 会员权限管理

    项目地址:http://www.freeteam.cn/ 会员权限管理 管理会员可使用的权限.会员在使用某一特定功能时,如投稿.可依据此会员所在会员组是否有投稿权限来决定会员能否够使用投稿功能. 1. ...

  2. 基于原生PHP交叉会员权限控制

    对于一个网站的后台管理系统,单一的超级管理员权限往往不能满足我们的需求,尤其是对于大型网站而言,这种单一的权限会引发许许多多的问题出现. 比如:一个网站编辑,平时他只是负责公司网站的公告更新,但如果网 ...

  3. ECshop后台角色权限的添加和分配

    1.在权限文件中配置 2.在需要加权限的文件中加入权限. 例如:d:\ecshop\admin\user_account.php 3.在数据库表 ecs_admin_action中配置 4.会员权限 ...

  4. iOS权限管理思路

    iOS权限的分类: 1.功能级权限管理 2.数据级权限管理 权限的获取方式: 通常通过网络获取,会有延迟 使用到权限的场景: 1. 点击发送会员专享魔法表情,  判断是否有发送会员专享魔法表情的权限, ...

  5. dedecms5.7怎么取消邮箱验证以及dedecms 会员发布的文章不需要审核的解决方法

    后台 ——系统基本参数——会员设置——会员权限开通状态——改为0 1.实现会员发布文章不需要审核,非会员发布需要审核 在member这个文件夹下找到archives_sg_add.php这个文件,打开 ...

  6. Linux开源系统对比Windows闭源系统的优势解析

    当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...

  7. 网络爬虫讲解(附java实现的实例)

    本文转载http://blog.csdn.net/luojinping/article/details/6870898 转载过来主要是防止想百度文库一样突然停止运作,导致很多文库丢失而无法找寻 网络蜘 ...

  8. iOS应用内付费(IAP)开发步骤列表

    iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作.步骤繁多,在此把开发步骤列表整理如下.因为只是步骤列表, ...

  9. <转>——网络爬虫

    网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一个页面(通常是首页)开始,读 ...

随机推荐

  1. typeahead使用配置参数。

    示例代码: var suggestion_source = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace( ...

  2. try与finally返回结果执行先后详解

    先看一段代码: @Test public void test1(){ System.out.println(testf1()); } int testf1() { int x = 1; try { r ...

  3. C# 动态创建出来的窗体间的通讯 delegate2

    附件:http://files.cnblogs.com/xe2011/CSharp_WindowsForms_delegate02.rar 窗体2 和窗体3 都是动态创建出来的 现在 FORM3.TE ...

  4. Memcached笔记——(四)应对高并发攻击【转】

    http://snowolf.iteye.com/blog/1677495 近半个月过得很痛苦,主要是产品上线后,引来无数机器用户恶意攻击,不停的刷新产品各个服务入口,制造垃圾数据,消耗资源.他们的最 ...

  5. [Redux] Filtering Redux State with React Router Params

    We will learn how adding React Router shifts the balance of responsibilities, and how the components ...

  6. java数组 数组工具类Arrays

    一.数组 1.java有严格的数据类型限制,一个数组只能声明一个数据类型,存放同一种数据类型. 2.虽然只能存放一种数据类型,假设A , 如果数据类型B 继承A,依然能存放进入数组. 3.数组的初始化 ...

  7. XC通讯录

    XC通讯录基于Android4.4开发的一个手机通讯录,具有手机拨号,添加联系人,查看联系人,管理编辑联系人,智能查找联系人,删除及批量删除,备份/还原数据,以及手机联系人导入等功能,界面简洁美观,欢 ...

  8. 重新温习,不但可以让自己对js更加的深刻认识,又能加深记忆,至此每天一次复习记录在此。

    Undefined类型,它只有一个值就是它本身,打个比方你在声明变量的时候又未对变量赋值也就是相关初始化操作,那么此刻该变量的值便是Undefined. var a//声明一个变量. console. ...

  9. Django 初探--Django的开发服务器及创建数据库(笔记)

    1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django提供的内置服务器可以在代码修改时自动加载,从而实现网站的迅速开发. ...

  10. 线性布局LinearLayout和相对布局RelativeLayout 之间的比较

    LinearLayout和RelativeLayout之间: 共有属性:java代码中通过btn1关联次控件android:id="@+id/btn1" 控件宽度android:l ...