Я хочу получить разницу между временем $ _POST и временем, сгенерированным на странице после отправки.
Как я хочу сделать оператор if, который был бы, если разница между двумя разами меньше, чем 5 секунд, то … еще …
Является ли использование 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);
Возьмите свои метки времени и используйте 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';
}
Преобразуйте свою отметку времени в объект datetime
$timeStart = new DateTime($timeStart);
$timeEnd = new DateTime($timeEnd);
Отредактировано: исправлено раннее утреннее кодирование, мозг функционировал неправильно.