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

原创 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>


二进制记录数列

http://codevs.cn/problem/1141/ 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1...
  • libin66
  • libin66
  • 2015年01月28日 20:56
  • 424

网站商品信息爬虫代码及详细注释

import re #正则表达式库是为了查找 import requests #requests库是为了获取网页def getHTMLText(url): #获取页面,若用bs...

Python抓取天猫商品详细信息及交易记录

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:这里写代码片 Markdown和扩展Markdown简洁的语法 代码块高亮...

poj2777 Count Color线段树延迟更新,二进制状态记录

题目链接 线段树延迟更新的运用,这里用到二进制的方式保存状态,位运算向上更新状态 需要注意的是给出的a,b可能a>b #include #include #define MAXN 100...

量子编程详解之一: QP-nano代码大餐之状态机函数详细注释

先把内容贴上来再说,下一步接着来 这个是量子编程的学习心得的第一篇 先是qepn.c 格式还弄不好 研究好了重发一篇 /*****************************...
  • lyqdy1
  • lyqdy1
  • 2011年12月19日 23:08
  • 7074

二进制、八进制、十进制、十六进制的相互转化(超详细案例)

public class RadixExchange { public static void main(String[] args) { // decimalToSomeRadix(...

商品状态图

  • 2013年05月21日 09:09
  • 197KB
  • 下载

超全超详细的HTTP状态码大全

HTTP 1.1中的状态码。这些状态码被分为五大类:  100-199 用于指定客户端应相应的某些动作。  200-299 用于表示请求成功。  300-399 用于已经移动的文...
  • xzykai
  • xzykai
  • 2017年11月21日 15:01
  • 19

简单快递 : 实现模糊搜索 选择城市搜索 选择状态搜索 升降排序 批量发货 批量删除 修改商品名字 新增订单时候,敏感字替换

效果图入下:    代码如下: /* 隔行变色 */ tbody tr { background: #d0d0d0; }...

商品订单 添加、查询、状态、时间。。

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二进制记录商品状态,超详细代码
举报原因:
原因补充:

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