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操作MySQL的流程

    1.链接数据库 2.选择数据库并设置编码 3.准备SQL语句 4.发生SQL语句到MySQL服务器 5.接收返回的结果集资源 6.解析结果集资源 7.关闭链接资源 流程图:

    2018年3月23日
    0291
  • 解析PHP的可变变量与可变函数

    PHP的可变变量与可变函数什么叫可变。在程序世界中,可变的当然是变量。常量在定义之后都是不可变的,在程序执行过程中,这个常量都是不能修改的。但是变量却不同,它们可以修改。那么可变变量和可变函数又是什么意…

    2022年6月27日
    0123
  • 如何在PHP中实现微信公众号菜单事件

    对于使用PHP开发微信公众号的开发者来说,实现微信公众号菜单事件是一个基本的需求。简单来说,菜单事件就是当用户点击微信公众号的菜单时,微信服务器会向开发者后台发送一个请求,开发者需要在后台处理该请求并返…

    2023年5月18日
    01
  • PHP入门指南:分布式系统。

    PHP入门指南:分布式系统随着互联网技术的飞速发展,分布式系统已经成为了大规模应用的必备选择。而PHP语言能够在Web开发中发挥出色的作用,为分布式系统的构建提供了可靠的基础。本文将带领读者了解PHP语言在分布…

    2023年5月22日
    01
  • PHP中Memcached缓存技术的实现和原理。

    Memcached是一种高速缓存系统,被广泛应用于Web服务器和其他需要缓存数据的场合。在PHP开发中,Memcached常用于提升应用程序的性能和优化数据库访问。本文将介绍Memcached缓存技术的实现和原理。一、Memcached的基…

    2023年5月21日
    02
  • PHP实现邮件系统的用户管理功能。

    随着网络通信的发展,邮件已成为人们日常生活和工作中最常用的通讯工具之一。随着电子邮件的普及,相应的邮件系统不断涌现,使得我们可以轻松地进行邮件的收发、存储和管理等操作。而PHP作为一种网页开发语言,也在…

    2023年5月30日
    01
  • PHP可变变量的理解

    可变变量 所谓可变变量,就是一个变量的名,又是一个变量。 可变变量的语法是php的很特殊的语法——其他语言中少见。 $v1 = “abc”;          //这是一个字符串变量,其内容是字符串“abc” $abc = 10;             //这…

    2017年11月6日
    0460
  • 详细介绍php 三种文件下载的实现

    本篇文章给大家详细介绍php 三种文件下载的实现有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1、直接添加文件链接<button> <a href = "http://localhost/down.zip"> 下…

    2023年3月29日 PHP自学教程
    04

联系我们

QQ:951076433

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