Я пытаюсь предотвратить спам в моей контактной форме.Когда кто-либо связывается, используя контактную форму, я сохраняю его IP-адрес в базе данных с текущим временем.Если кто-то пытается связаться, я проверяю IP в базе данных, и если там есть запись IP-адреса в базе данных, я получаю метку времени и сравниваю ее с текущей меткой времени, но я думаю, что что-то не так с ней, и это дает мне неправильное время, и поэтому пользовательвсе еще могу отправлять сообщения.
Я определил TimeZone, как показано ниже
define('TIMEZONE', 'Asia/Kolkata');
date_default_timezone_set(TIMEZONE);
$date = date('Y/m/d h:i:s', time());
Я вставляю время записи в базу данных так же, как echo в php.
Теперь я получаюи сравнивая оба времени, как показано ниже
$last_time = $row['time'];
$current_time = $date;
if(($current_time-strtotime($last_time )) > 1800) {
//send mail
}
else {
// give error
}
Я пробовал эхо оба раза, и я получаю такой результат
$last_time = 2018-09-23 07:56:37
$current_time = 2018/09/23 07:56:51
($current_time-strtotime($last_time ) = -1537667579
Я не знаю, что с ним не так.
Дайте мне знать, если с ним что-то не так.