php实现签到功能的方法实例分析(附代码)

本文实例讲述了php实现签到功能的方法。分享给大家供大家参考,具体如下:

首先我在数据库里建了两张表,一个是用户的积分表,一个是签到状态表,分来用来记录用户的积分数和先到状态

php实现签到功能的方法实例分析(附代码) php实现签到功能的方法实例分析(附代码)

 

在用户签到状态表中我们有一个字段,last_sign_time,即上一次签到时间,每次可以签到的时候把这个时间与当前时间进行比较 如果相差为0天,则说明今天已签到(这个签到是24小时内只能签到一次,即两次签到时间要相差24小时以上).如果等于一天则今日可以签到,如果2天及其以上则说明漏签了.

通过时间戳的判断,及时更新状态表,并且当可以签到的时候则对用户积分表进行操作,即更新用户积分.

具体代码如下:

 

";
      $total_day=$row[5];
    }
      //根据上次签到时间和这次签到时间作比较判断有没有漏签和今日是否已签到
      $current_total_day=intval($total_day)+1;
      $current_day=time();
      $ary = timediff($last_time,$current_day);
    if($ary[day]==0){//今天已签到
       exit(json_encode(array('status'=>"success",'code'=>"5")));
        mysqli_close($link);//关闭连接 
        exit();
    }else if($ary[day]==1){//没有漏签
      $usdateq = "UPDATE user_signin SET last_sign_time='$current_day', total_day='$current_total_day' WHERE user_id=$user_id;"; //更新
      mysqli_query($link,"SET NAMES utf8");
      $ustaters = mysqli_query($link,$usdateq); //获取数据集
      if($ustaters ==1){
      upuserscore($current_total_day);
          //exit(json_encode(array('status'=>"success",'code'=>"100")));
        mysqli_close($link);//关闭连接 
        exit();
      }else{
          exit(json_encode(array('status'=>"success",'code'=>"1")));
           mysqli_close($link);//关闭连接
         exit();
      }
    }else{//漏签过
    $usdateq = "UPDATE user_signin SET last_sign_time='$current_day', total_day=1 WHERE user_id=$user_id;"; //更新
    mysqli_query($link,"SET NAMES utf8");
    $ustaters = mysqli_query($link,$usdateq); //获取数据集
    if($ustaters ==1){
      upuserscore($current_total_day);
        //exit(json_encode(array('status'=>"success",'code'=>"100")));
      mysqli_close($link);//关闭连接 
      exit();
    }else{
        exit(json_encode(array('status'=>"success",'code'=>"1")));
       mysqli_close($link);//关闭连接
       exit();
    }
  }
  }else{//没有该用户记录则插入
    $current_day=time();
    $insertq = "insert into user_signin (user_id,last_sign_time,total_day)values($user_id,'$current_day',1)"; //SQL插入语句
    mysqli_query($link,"SET NAMES utf8");
    $insertrs = mysqli_query($link,$insertq); //获取数据集
    if(strpos($insertrs,"SELECT") === false){//出入数据成功
      upuserscore('1');
      //exit(json_encode(array('status'=>"success",'code'=>"100")));
      }
  }
  mysqli_close($link);//关闭连接
?>

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/4516.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2018年3月5日 12:05
下一篇 2018年3月7日 11:05

相关推荐

  • 学习php中利用explode函数分割字符串到数组

    分割字符串 //利用 explode 函数分割字符串到数组 代码如下:<?php $source = "hello1,hello2,hello3,hello4,hello5";//按逗号分离字符串 $hello = explode(',',$source); for($index=0;$i...

    2022年6月12日
    0119
  • 一文了解PHP中的进程和进程间通信

    本篇文章带大家了解一下PHP中的进程和进程间通信。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。环境php中的进程是以扩展的形式来完成。通过这些扩展,我们能够很轻松的完成进程的一系列动...

    2023年3月29日
    00
  • PHP函数的说明

    函数的调用者把实际的数据传递给函数的形参,这个时候的形参只能在函数内使用。 函数在运行代码时会新建一个新空间来运行函数内的代码 运行代码后,如果有返回值,把结果返回给函数的调用者,这个时候运行函数的...

    2018年4月4日
    0227
  • PHP安全问题汇总

    1-XSSCross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID...

    2022年6月20日
    0119
  • 重蔚php学习第三十五天——点击行为的判断

    在之前的程序中,我们有两个文件,html、php文件,其中的php文件是处理数据的文件。如果用户直接访问这个文件,是需要验证的。   如果用户直接访问文件--à拒绝(跳转回某个页面) 如果用户点击按钮进入文件-...

    2017年10月18日
    0457
  • 基于PHP商城开发的全文检索技术

    随着电子商务的迅猛发展,越来越多的企业开始将自己的业务转移到线上平台,建立电商网站成为了一种趋势,而网站中搜索功能的完善程度对网站的用户体验和销售额有重要影响。本文将介绍基于PHP商城开发的全文检索技...

    2023年5月18日
    00
  • PHP8中的数组函数:array_unique()的多种用途。

    在PHP编程语言中,数组是一种非常常见的数据类型。数组的独特之处在于,它允许我们一次存储多个相关变量,并且可以对这些变量进行高效地操作和处理。在PHP8中,有许多有用的数组函数可以帮助我们优化代码,其中一...

    2023年5月21日
    00
  • 如何使用PHP和JavaScript构建在线编辑器。

    随着网络技术的不断发展,越来越多的人开始使用在线编辑器编辑文本、代码等内容。如果您是一名开发人员,您可能会想要了解如何使用PHP和JavaScript构建您自己的在线编辑器。本文将介绍一些基本的步骤和技术,帮助...

    2023年5月30日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息