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

来源:互联网 发布:mysql技术精粹 pdf 编辑:程序博客网 时间:2024/06/14 08:30

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

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>


1 0
原创粉丝点击