Запретить повторную отправку формы на PHP

Алексей12 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
27.12.2021

Задача. Запретить повторную отправку формы на Email, если ранее была осуществлена отправка.

1) Возможно ли предусмотреть время жизни кукиес? Например задать что если прошло 4 дня, то разрешаем повторную отправку

2) Так же в форму надо прокидывать реферер . $_SERVER[«HTTP_REFERER»] .'

Как я это вижу?

Клиент заполняет форму, нажимает кнопку отправить. 

Далее файл form.php записывает в cookies параметр по которому мы можем в будущем проверить была отправка или нет.

Далее если form.php видит что форма отправлялась, то выдает сообщение

Извините, но вы слишком часто отправляет формы

Сам скрипт form.php

include_once("config.php");

$code = 1;$error = true;$name_input = array();

$to_name = $mail_title;//Отправитель

$to_email = 'ПОЧТА@bk.ru';

if(isset($_POST["name"])){

$name = $_POST["name"];

$phone = preg_replace('/[^0-9]/', '', trim($_POST["phone"]));

$name777 = $_POST["name777"];

if($name == '' or strlen($name) 50){$name_input[] = 'name'; $error = false;}

if($phone == '' or strlen($phone) 50){$name_input[] = 'phone'; $error = false;}

if($error){

$header = "From: \"$to_name\" \n";

$header .= "Content-type: text/plain; charset=\"utf-8\"";

$subject = "Новая заявка"; //Тема письма

$message = "Форма: $name777\n\nИмя: $name\nТелефон: $phone"; //Сообщение

if($mess != ''){

$message .= "Текст сообщения:$mess\n";

}

mail($to_email, $subject, $message, $header);

$code = 0;

}

}

$data_str = array('code' => $code, 'input' => $name_input);

echo json_encode($data_str);

?>

Заявки фрилансеров