添加 签到功能代码

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>
 
  

 

 
 

 

转载于:https://www.cnblogs.com/tianbo16/p/5787893.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值