#forms #post #php #get
В заголовке, просьба, ключевики не править: именно по ним ищут эту функцию 99% людей. Часто отвечал, что для контроля отправки надо прописывать айдишник сабмита. И вот что я имел ввиду(решение готовое. Можно брать и юзать): Проверка: function accidently_submit_check(){ if(!isset($_POST['submit_id'])){ //unknown submission attempt or no post data return false; } if(!isset($_SESSION['submit_id'][$_POST['submit_id']])){ //unknown submission attempt return false; } if($_SESSION['submit_id'][$_POST['submit_id']]){ //form was already submitted return false; } return true; } В функции обработки формы, если все нормально: $_SESSION['submit_id'][$_POST['submit_id']] = true; В функции генерации формы: $form['SUBMIT_ID']['value'] = md5(microtime(true).$_SESSION['user']['id']); $_SESSION['submit_id'][$form['SUBMIT_ID']['value']] = false; printf('',$form['SUBMIT_ID']['value']); Внимание, вопрос: что я упустил? Все работает, но мало ли.
Ответы
Ответ 1
Ну, содержание первой части заголовка вопроса не совсем соответствует самому вопросу. Очистка $_GET, $_POST производится через header('Location: {referer}'); А то что у вас - немного другое. Вот ещё вариант:
Комментариев нет:
Отправить комментарий