Php 时间戳:检查是否已过30分钟

Php 时间戳:检查是否已过30分钟,php,mysql,timestamp,Php,Mysql,Timestamp,我已经设置了此代码,但它似乎不起作用。基本上,我在数据库中放了一个时间戳,每当有人试图提交东西时,我都会检查他们的IP,然后在他们最后一次提交时,基本上我需要确保在他们可以发布之前已经超过30分钟。这是我现在掌握的代码 $ip = $_SERVER["REMOTE_ADDR"]; $chkquery = "SELECT * FROM faucet where ip='$ip' ORDER BY timestamp DESC LIMIT 1;"; $chk = mysql_query($chkqu

我已经设置了此代码,但它似乎不起作用。基本上,我在数据库中放了一个时间戳,每当有人试图提交东西时,我都会检查他们的IP,然后在他们最后一次提交时,基本上我需要确保在他们可以发布之前已经超过30分钟。这是我现在掌握的代码

$ip = $_SERVER["REMOTE_ADDR"];
$chkquery = "SELECT * FROM faucet where ip='$ip' ORDER BY timestamp DESC LIMIT 1;";
$chk = mysql_query($chkquery) or die($chkquery."<br/><br/>".mysql_error());
while($row = mysql_fetch_array($chk, MYSQL_ASSOC)){
    $timestamp = $row['timestamp'];
}
$timenow = time();
$chktime = strtotime($timestamp);
if($chktime <= ($timenow - 1800)) {
    echo "Yay! It has been 30 minutes!";
} else {
    echo "Wait! Its not been 30 minutes";
}
$ip=$\u服务器[“远程地址”];
$chkquery=“从水龙头中选择*,其中ip='$ip'按时间戳描述限制1订购;”;
$chk=mysql\u query($chkquery)或die($chkquery。“

”。mysql\u error()); 而($row=mysql\u fetch\u数组($chk,mysql\u ASSOC)){ $timestamp=$row['timestamp']; } $timenow=time(); $chktime=strotime($timestamp);
如果($chktime依赖系统时区设置定义的
strotime()
是不安全的。 您应该调整
date.timezone设置
或使用
date\u default\u timezone\u set()
例如:

date_default_timezone_set('America/New_York');
...

if($timenow - $chktime >= 1800) {
    echo "Yay! It has been 30 minutes!";
} else {
    echo "Wait! Its not been 30 minutes";
}
编辑:添加剩余时间

$time_diff = $timenow - $chktime;
if( $time_diff >= 1800) {
    echo "Yay! It has been 30 minutes!";

} else {
    $remaining = (1800 - $time_diff );
    echo "Wait! Its not been 30 minutes\n";
    echo "please come back in ".date ( "i:s" , $remaining)." minutes";
}

请检查您的数据库时区和php时区设置

数据库和php上的时区可能不同

在php脚本上,您可以使用
date\u default\u timezone\u set()
设置时区,并使用
date\u default\u timezone\u get()
检查设置的时区


在mysql上,查看
my.ini
my.cnf
设置

当echo
$timenow
$chktime
时会发生什么?我知道$timenow在顶部,而$chktime在其下方…我该如何做才能让它在X分X秒后说“请回来”(如果可能,那么JS动态倒计时)谢谢!非常感谢…我将尝试找出如何使用jquery使其动态(倒计时)…如果您对如何做有任何想法,请这样做…再次感谢!