一个卡了我一上午的BUG的代码

<?php
header("content-type:text/html;charset=utf-8");
//开奖时间
session_start();
$_SESSION["time"]='2016-11-15 11:00:00';
$datatime=$_SESSION["time"];
//接收数据 用户名和数字
$name=$_POST['username'];
$num=(int)$_POST['pwd'];
if($num<1){
    echo "<script>alert('不能输入小于0的数字');location='denglu.php';</script>";
}
//当前时间2016-11-15 11:45:25
$time=date('Y-m-d H:i:s',time());
$redis = new Redis();
$redis->connect("127.0.0.1",6379);
//取出所有值
$data=$redis->sMembers('a');
//判断是否存在
if(in_array ($name,$data)){
    echo "<script>alert('您已经参加过抽奖了');location='denglu.php';</script>";
}else{
    //把用户名 存在SET里
    $redis->sAdd('a', $name);
    //把用户名 和数字存在ZSET里
    $redis->zAdd('key',$num,$name);
    //判断是否到了时间
    if($time<$datatime){
        echo"<script>alert('还没有到开奖时间');location='shijian.php';</script>";
    }else{
       $arr=$redis->zRange('key',0,-1,true);
        //由于取出的值为浮点型所以强制转换为整型
        $str=array();
        foreach($arr as $k=>$v){
            $str[$k]=(int)$v;
        }
       // var_dump($str);die;
        //统计所有值出现的次数
        $arr2=array_count_values($str);
//定义一个方法
   function show($arr2){
       foreach ($arr2 as $k=>$v) {
           if($arr2[$k]==1){
               return $k;
           }
       }
   }
        //调用方法找出最小的不重复的值
        $a=show($arr2);
        //通过这个值找到是哪个用户输入的
        foreach($str as $k=>$v){
            if($str[$k]==$a){
                echo "恭喜用户名为".$k."的用户中奖,他输入的数字为".$a;die;
            }
        }
    }
}
<?php
session_start();
$time=$_SESSION["time"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>
<h1>输入最小并且不重复的数字赢大奖</h1>
<h2>开奖时间<?php echo $time;?></h2>
<form action="day1114.php" method="post">
   <table>
       <tr>
           <td>用户名</td>
           <td><input type="text" name="username"/></td>
       </tr>
       <tr>
           <td>你要输入的数字</td>
           <td><input type="text" name="pwd"/></td>
       </tr>
       <tr>
           <td><input type="submit" value="提交"/></td>
       </tr>
   </table>
</form>
</body>
</html>
<?php
header("content-type:text/html;charset=utf-8");
session_start();
$time=$_SESSION["time"];
$time=strtotime("$time");
$time2=time();
$time3=$time-$time2;
$time3=date('i分s秒',$time3);
?>

<h2>距离开奖还剩<?php echo $time3;?></h2>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值