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和Elasticsearch构建全文搜索引擎。

    如何使用PHP和Elasticsearch构建全文搜索引擎 全文搜索引擎在现代互联网中扮演着重要的角色,它能够让用户快速找到满足他们需求的信息。一个好的全文搜索引擎不仅需要快速搜索,同时还需要提供高质量的搜索结果。这…

    2023年5月30日
    05
  • 漂亮的PHP验证码前言

    在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据。今天给大家介绍一款PHP验证码库Captcha。 1. 安装 方法一:已安装好composer可以使用composer安装: …

    2018年5月7日 PHP案例操作
    0398
  • PHP微信开发:如何实现客服聊天窗口管理

    微信是目前全球用户规模最大的社交平台之一,随着移动互联网的普及,越来越多的企业开始意识到微信营销的重要性。在进行微信营销时,客服服务是至关重要的一环。为了更好地管理客服聊天窗口,我们可以借助PHP语言进…

    2023年5月18日
    01
  • php外部文件的引入(加载)

    说明:文件的加载可以是PHP文件可以是HTML文件 加载方式为:include、require、include_once、require_once 加载进来是两种结果:文件内容加载进来并运行、获取return的数据 如果是加载内容:include ‘要加载进来文…

    2018年4月4日 PHP自学教程
    0373
  • 教你使用PHP实现查找你想要的附近人

    最近有个业务场景使用到了查找附近的人,于是查阅了相关资料,并对使用PHP实现相关功能的多种方式和具体实现做一篇技术总结,欢迎各位看官提出意见和纠错,下面开始进入正题: LBS(基于位置的服务) 查找附近的人有…

    2022年6月21日
    0127
  • nginx 504 Gateway Time-out如何处理

    今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题 执…

    2018年4月13日
    0293
  • PHP入门指南:代码注入漏洞。

    近年来,网络安全问题越来越频繁地被人们所关注。其中,代码注入漏洞是常见的安全问题之一。PHP作为一种常用的后端编程语言,被广泛应用于网站开发中。然而,PHP由于其灵活性和易用性,在编写代码的过程中会存在安…

    2023年5月22日
    00
  • PHP8中的函数:array_key_first()和array_key_last()的高效操作方法。

    随着时代的变迁,PHP也在不断演进和更新。最近发布的PHP8就带来了一些新的函数,其中两个很有意思:array_key_first()和array_key_last()。这两个函数分别用于返回数组的第一个键名和最后一个键名。在本文中,我们…

    2023年5月21日
    00

联系我们

QQ:951076433

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