二进制记录商品状态,超详细代码

原创 2016年06月02日 00:38:47

这是一个经典的小案例案列,通过该案列解决以下问题:

1.一个页面输入,输出数据

2.屏蔽掉各种因为未定义变量的错误

3.二进制的开关控制方式: 

默认为0,想打开就是 亦或(^)默认状态,想关就再 亦或(^)上次的状态.


附上代码

<?php
/**
 * Created by PhpStorm.
 * User: Alienware
 * Date: 2016/6/1
 * Time: 22:17
 */
header("Content-Type:text/html;charset=utf-8");
//预定义六个空变量,屏蔽form表单提交时,未定义变量的错误
$g1Status = '';
$g2Status = '';
$g3Status = '';
$g1 = '';
$g2 = '';
$g3 = '';
// 默认初始化状态为空
$status = 0;
// 判断提交方式为post,才进行脚本.屏蔽直接在浏览器输入网站进入的未定义变量错误
if ($_SERVER['REQUEST_METHOD']=='POST'){

// 判断有没有值传过来,传过来了再赋值,屏蔽不勾选时,没有值就报错的问题
    if(isset($_POST['g1']))
    $g1 = $_POST['g1'];
    if(isset($_POST['g2']))
    $g2 = $_POST['g2'];
    if(isset($_POST['g3']))
    $g3 = $_POST['g3'];
//    用传过来的值 亦或^ 状态,打勾了之后就能得到一个数字(4;2;1),没打勾就还是0
    $g1Status = $status ^ $g1;
    $g2Status = $status ^ $g2;
    $g3Status = $status ^ $g3;
//    当前的状态值$status就是把三个开关 或起来 (|)
//    $Status = $g1Status | $g2Status | $g3;
//    echo $Status;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
    <h1>当前商品状态:
        <?php
//        用三元判断值,数字不是0就是真;0就是假
        echo $g1Status?'新品':'';
        echo $g2Status?'精品':'';
        echo $g3Status?'热销':'';
        ?></h1>
<!--    // 判断商品的状态是不是为关,如果是关,那么$g1Status就是0,反之不为零,然后输出checked来保存状态,用三元直接控制-->
    <input type="checkbox" value="4" name="g1" <?php echo $g1Status==0 ? '':'checked'; ?> >新品
    <input type="checkbox" value="2" name="g2" <?php echo $g2Status==0 ? '':'checked'; ?> >精品
    <input type="checkbox" value="1" name="g3" <?php echo $g3Status==0 ? '':'checked';?> >热销
    <input type="submit" value="修改">
    </form>


关于状态码中二进制计算操作的问题(&amp;amp;,^,|)

例如:有以下状态码需要进行操作 public final static Long OP_BIND_PHONE = 1L &amp;lt;&amp;lt; 0; // 用户绑定手机状态码 0...
  • qq_33551131
  • qq_33551131
  • 2018-03-24 10:40:07
  • 20

如何快速取得一个二进制状态的所有子状态

int main() { int s; while(cin>>s) { print(s); for(int i=s; i>=0; i=(i>0?...
  • rowanhaoa
  • rowanhaoa
  • 2013-11-17 15:51:14
  • 1390

java -- 将int 转为二进制,再提取二进制中每一位信息

前言 用二进制形式,表示事务的处理状态,是一个比较简单的做法,充分考虑了二进制的开关的性质。取二进制某一位: 0 代表未处理,1代表已经进行了处理。那么 7 转成二进制 111,那么其可以表示事物...
  • TheSnowBoy_2
  • TheSnowBoy_2
  • 2016-07-08 16:58:40
  • 9501

java编程中使用二进制进行权限或状态控制

基本概念 package test; public class Rights { public static void main(String[] args) { int a=1; // 0...
  • scorpio3k
  • scorpio3k
  • 2012-10-22 23:05:20
  • 6113

使用二进制进行权限或状态控制

文章转载出处:http://blog.csdn.net/scorpio3k/article/details/8100890 基本概念[java] view plain copy print?packa...
  • u013129944
  • u013129944
  • 2017-03-21 15:54:51
  • 197

二进制记录商品状态,超详细代码

这是一个经典的小案例案列,通过该案列解决以下问题: 1.一个页面输入,输出数据 2.屏蔽掉各种因为未定义变量的错误 3.二进制的开关控制方式:  默认为0,想打开就是 亦或(^)默认状态,想关就再 亦...
  • theqtkc
  • theqtkc
  • 2016-06-02 00:38:47
  • 424

HTTP报文解析及其状态码

HTTP 请求报文l HTTP Command: //方法字段,说明其使用的是GET 方法l URI: / //URL 字段,发送请求至保存该网站的服务器。l HTTP Version: //http...
  • shz2008bj
  • shz2008bj
  • 2008-07-21 15:34:00
  • 2634

商品超卖问题

背景 在公司里面我负责的是积分商城一块,里面的积分商品也跟其它商品一样,超卖是绝对不可以的。。。。 刚接手到积分商城 我刚来的时候,积分商城已经有了自家优惠券的功能,整个商城就2件商品:...
  • qq_34581118
  • qq_34581118
  • 2017-07-24 22:22:38
  • 516

Java Web学习(22): 阶段小项目实现商品浏览记录

案例项目:商品浏览记录的实现        项目架构:采用Model1模式(JSP+JavaBean)实现        具体的步骤:        1)实现DBHelper类      ...
  • erlian1992
  • erlian1992
  • 2016-07-27 17:23:42
  • 4838

常见的HTTP状态码(HTTP Status Code)说明

作为一个互联网开发人员对于一些服务器返回的HTTP状态的意思都必须是了如指掌的,只有将这些状态码一一弄清楚,工作中遇到的各种问题才能够处理的得心应手。好了,下面就让我们来了解一下比较常见的HTTP状态...
  • changyinling520
  • changyinling520
  • 2018-03-28 14:46:07
  • 74
收藏助手
不良信息举报
您举报文章:二进制记录商品状态,超详细代码
举报原因:
原因补充:

(最多只允许输入30个字)