如何改這段thinkphp簽到代碼

來源:互聯網
上載者:User
        $residueHour=24+24-date('H',$lastSignDay);        $formatHour=strtotime(date('Y-m-d H',$lastSignDay).':00:00');        $lastSignDate=strtotime("+{$residueHour}hour",$formatHour);

回複內容:

        $residueHour=24+24-date('H',$lastSignDay);        $formatHour=strtotime(date('Y-m-d H',$lastSignDay).':00:00');        $lastSignDate=strtotime("+{$residueHour}hour",$formatHour);

public function sign(){    //每日簽到           $this->check_login();    $data=array(            'userId'=>$this->memberID,            'sc_score'=>1,            'sc_detail'=>'簽到+1',            'sc_type'=>1    );        $dao=M('sign');//執行個體化sign對象    $current=date('Y-m-d H:i:s',time());    $hasSign=$dao->where("userId={$this->memberID}")->find();    $count=$hasSign['si_count'];    if($hasSign){        $lastSignDay=strtotime("{$hasSign['si_time']}");        $lastSign=date('Y-m-d',$lastSignDay);        $today=date('Y-m-d',time());         if($lastSign==$today){            echo "今天已簽到,您已連續簽到  {$count}  天,連續簽到5天每天+5元代金券!";            exit();        }                     $residueHour=24+24-date('H',$lastSignDay); //有效簽到時間  (簽到當天剩餘的小時+1天的時間)        $formatHour=strtotime(date('Y-m-d H',$lastSignDay).':00:00');//簽到當天 2014-12-07 18:00:00        $lastSignDate=strtotime("+{$residueHour}hour",$formatHour);//在2014-12-07 18:00:00 基礎上+ 有效簽到時間        if(time()>$lastSignDate){ //目前時間 >  上一次簽到時間            $count=1;          }else{            $count=$count+1;        }        $sign=$dao->where("userId={$this->memberID}")->save(array('si_time'=>$current,'si_count'=>$count)); //簽到表    }else{        $sign=$dao->add(array('userId'=>$this->memberID,'si_count'=>1)); //簽到表        $count=1;    }    if($sign){        //第一天簽到+1 第二天簽到+2 第三天簽到+3 第四天簽到+4 第五天+5 連續5天每天+5        switch ($count){            case 1:              $sc_score=1;              break;            case 2:              $sc_score=2;              break;            case 3:              $sc_score=3;              break;            case 4:              $sc_score=4;              break;            default:              $sc_score=5;            }            $dao->where("userId={$this->memberID}")->setInc('coin',$sc_score);  //簽到金額累加            $coin=$dao->where("userId={$this->memberID}")->field('coin')->find();            if($coin['coin']>=20){                $dao->where("userId={$this->memberID}")->setDec('coin',20);//如果滿20將產生一張20的代金券                $this->insertCoupon('會員簽到代金券',20,$this->memberID);            }            $data=array(            'userId'=>$this->memberID,                'sc_score'=>$sc_score,                'sc_detail'=>'簽到+'.$sc_score,                'sc_type'=>1                );                M('score2')->add($data); //積分表                            if($count>0){            echo "您今天已成功簽到,成功領取{$sc_score}元代金券,其中連續簽到  {$count}  天";        }else{            echo "簽到成功";        }        }else{        echo '簽到失敗,請稍後重試!';    }    }
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.