获取表格$ POST数据与新日期之间的区别

时间:2015-02-09 14:25:25

标签: php validation datetime post spam-prevention

我希望获得$ _POST时间与提交后页面内生成的时间之间的差异。

因为我想做一个if语句,如果两次之间的差异小于5秒,那么...... else ...

使用php date(“H:i:s);正确的函数?

生成时间

<?php date = date("H:i:s"); ?>

隐藏表格字段中的回声时间

<input name="tstmp" type="hidden" value="<?php echo $date; ?>"/>

然后在表单提交后用户获取的页面中。

//could the problem be this is a string within the $_POST
$timestart = $_POST['tstmp'];

$timeend = date("H:i:s");

//can this only be used with timestamp?
$interval = $timestart->diff($timeend);

2 个答案:

答案 0 :(得分:0)

记下您的时间戳并使用strtotime()将它们转换为unix时间戳并将它们相互减去。

http://php.net/manual/en/function.strtotime.php

$timestart = $_POST['tstmp'];
$timeend =  date("H:i:s");

$timestart = strtotime($timestart);
$timeend   = strtotime($timeend);

if(($timeend - $timestart) > 5){
    echo 'TIME IS GREATER THAN 5 SECONDS';
}

答案 1 :(得分:-2)

将您所加入的时间戳转换为日期时间对象

$timeStart = new DateTime($timeStart);
$timeEnd = new DateTime($timeEnd);

编辑:修复早晨编码大脑没有正常运作。