Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 1187|回复: 3
打印 上一主题 下一主题

询问: 用PHP做防灌水模式,找出日期与时间相差

[复制链接]

59

主题

5

好友

1533

积分

白银长老

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2017-4-11 03:23 PM |只看该作者 |倒序浏览
本帖最后由 Exm 于 2017-5-2 04:16 PM 编辑

我想在我的网站做一个功能是防灌水,
我采用的是当client发一个贴,我都会拿对方的ip和最后发帖时间。
然后开始计算发帖时间,如果发帖时间少过3分钟,否则不能再发

  1. $lastDate = //get from mysql
  2. $nowDate = date('Y-m-d H:i:s', time());//这是我采用日期的格式
  3. if ($lastIp == $currentIP){
  4.         if (($lastDate - $nowDate) <3 ){ //就是这一段我不会
  5.                 //display error
  6.         }
  7. }else{
  8.       //do function
  9. }
复制代码
我要怎样才能计算出日期和时间的相差?

(我不想要用cookie和session的方式来设定防灌水)



已经找到答案




收藏收藏0

4

主题

0

好友

53

积分

中级会员

Rank: 2Rank: 2

2#
发表于 2017-4-24 08:34 PM |只看该作者
知道unix timestamp么?
直接用那个做加减
没记错的话是 time() 函数


回复

使用道具 举报

2

主题

5

好友

944

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

3#
发表于 2017-5-2 11:50 AM |只看该作者

  1. $lastDate = date('Y-m-d H:i:s', time()-180); //这个是提前3分钟的时间
  2. $nowDate = date('Y-m-d H:i:s', time());//这是我采用日期的格式
  3. $checkDate = (strtotime($nowDate) - strtotime($lastDate));
  4. if ($checkDate <= 180 ) //180 = 3minutes (3*60sec)
  5. {
  6.    echo "Within 3minutes";
  7. }
  8. else
  9. {
  10.     echo "Without 3minutes";
  11. }
复制代码
试试看行的通没?


已有 1 人评分人气 收起 理由
Exm + 10

总评分: 人气 + 10   查看全部评分

回复

使用道具 举报

59

主题

5

好友

1533

积分

白银长老

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

4#
发表于 2017-5-2 04:15 PM |只看该作者
本帖最后由 Exm 于 2017-5-2 04:18 PM 编辑
三岁学抽烟 发表于 2017-5-2 11:50 AM
试试看行的通没?


谢谢你,我之前自己研究到了。和你的做法是一样的,谢谢你

  1. $lastDate = date($lastDate); //get from mysql
  2. $nowFormat= date('Y-m-d H:i:s', time());//这是我采用日期的格式

  3. if ($lastIP == $user_ip){ // check ip
  4.         $firstTime=strtotime($lastDate); //become date format
  5.         $lastTime = strtotime($nowFormat); //become date format
  6.         $timeDiff=$lastTime-$firstTime;
  7.                 if ($timeDiff < 180){
  8.                         echo "Within 3minutes";
  9.                 }else{
  10.                         echo "Without 3minutes";
  11.                         }
  12.         }else{
  13.                 echo"ip different";
  14. }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-12-26 04:51 PM , Processed in 0.102258 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部