Сессия и форма PHP

недавно возникла проблема с сессиями пользователя. Авторизованный пользователь имеет $_SESSION['id'], он не меняется, но как мне сделать, если человек отправил форму, но 2 раз он отправить сможет только через час допустим. Можете пожалуйста кинуть пример? Буду очень благодарен!


Ответы (2 шт):

Автор решения: Ипатьев

Сессии нельзя использовать для каких-либо ограничений.

чтобы запретить пользователю делать что-либо, нужно использовать базу данных

→ Ссылка
Автор решения: topolm
@session_start();
$_SESSION['id'] = "2";


if (......) { // если форма была отправлена, устанавливаем в сессию время истечения блокировки (+1 час от текущего)
    $limit_time = date('Y-m-d H:i',strtotime('+1 hour'));
    $_SESSION['limit_time'] = $limit_time;
}

// далее проверка при попытке повторной отправки

if ( strtotime(date("d.m.Y H:s")) > strtotime($_SESSION['limit_time']) ) {
    echo 'Время блокировки вышло, можно отправить форму еще раз';
} else {
    echo 'Все еще блокируем, время блокировки не вышло';
}
→ Ссылка