tianbo16
php 代码:
public
function sign(){ $current=date(\'Y-m-d H:i:s\',time());//当前时间 $hasSign=M(\'sign\')->where("uid={$this->uid}")->find();//当前会员的签到表 $count=$hasSign[\'si_count\'];//签到次数 if($hasSign){ $lastSignDay=strtotime("{$hasSign[\'si_time\']}");//si_time 签到时间 $lastSign=date(\'Y-m-d\',$lastSignDay);//上次签到时间 $today=date(\'Y-m-d\',time()); if($lastSign==$today){ echo "今天已签到,您已连续签到 <font color=\'green\'> {$count} </font> 天,连续签到7天+10分!"; 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=M(\'sign\')->where("uid={$this->uid}")->save(array(\'si_time\'=>date(\'Y-m-d H:i:s\'),\'si_count\'=>$count)); //签到表 }else{ $sign=M(\'sign\')->add(array(\'uid\'=>$this->uid,\'si_count\'=>1)); //签到表 } if($sign=M(\'sign\')->where("uid={$this->uid}")->find()){ if($sign[\'si_count\']!=0 && !empty($sign[\'si_count\'] )){ if($sign[\'si_count\']%7==0){ $active_integral=10; $integral_info=\'连续签到7天,增送10积分\'; }else{ $active_integral=1; $integral_info=\'签到+1分\'; } $x = memberIntegralLog($this->uid,4,$active_integral,$integral_info); dump($x); } if($count>0){ echo "<font color=\'green\'>签到成功,您已连续签到 <font color=\'red\'> {$sign[\'si_count\']} </font> 天,连续签到7天+10分!</font>"; }else{ echo "<font color=\'green\'>签到成功</font>"; } }else{ echo \'签到失败,请稍后重试!\'; } }
html 代码:
<a href=\'javascript:;\' class=\'sign_in\' title=\'签到\'>签到拿积分!</a>
js 代码:
<script type="text/javascript">
    $(function(){
        $(\'.sign_in\').click(function() {
           //alert(\'__URL__/sign/tag/in\');
            $.ajax({

              url : \'__URL__/sign\',
                dataType : \'text\',
                success : function(res) {
                    if (res.match(/green/)) {
                        location.reload();
                        $(\'.sign_in\').text(\'已签到 +1分\');
                    }
                    alert(res);
                }
            });


        });
    });
</script>

 

 
 

 

分类:

技术点:

相关文章: