Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

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

Поддержи проект!!! smile

Довольно часто встречается проблема "повторной отправки формы в php". На самом деле - "отключить повторную отправку формы в php" очень просто! Рассмотрим это с примерами.

Подробно о повторной отправке формы php

  1. Пример повторной отправки формы
  2. Отключаем повторную отправку формы php
  1. Пример повторной отправки формы

    Давайте разберемся - как происходит повторная отправка формы в php. Для этого нам понадобится такая форма. чтобы мы смогли увидеть в реальности - повторную отправку формы!

    Html + Php :

    <a name="result"></a>

    <?

      if (trim($_POST["example"])) {

        echo "POST запрос был отправлен" . strip_tags($_POST[example]);

      }

    ?>

    <form action="#result" method="post">

      <input type="text" name="example" value="привет мир">

      <input type="submit" value="Нажми на меня" name="submit">

    </form>

    Разместим выше приведенный код прямо здесь:

    Что нужно сделать!?

    Нажмите кнопку "Нажми на меня".

    После перезагрузки страницы нажмите "F5".


    И далее вы должны получить вот такой результат: Пример повторной отправки формы

    Если вы нажмете "продолжить", то первые данные отправятся второй раз на сервер.

    Если речь идет о комментариях, то тут появятся два абсолютно одинаковых комментария...

    Нам это не нужно!

    Как избавиться от "повторной отправки формы!?"

  2. Отключаем повторную отправку формы php

    Чтобы отключить "повторную отправку формы php" нам придется немного изменить код, который мы написали ранее.

    Чем отличается выше приведенный код(в предыдущем пункте).

    Запускаем сессию:

    session_start();

    В условии

    if (trim($_POST["example1"]))

    Создаем сессию "$_SESSION[example1]" и предаем туда данные из "_POST".

    Далее header + refresh - перезагрузка.

    + exit, чтобы программа дальше не пошла.

    При перезагрузке проверяем существует ли сессия:

    if($_SESSION[example1])

    Если да, то передаем данные в переменную $echo1 + сессию уничтожаем

    $_SESSION[example1] ='';

    Соберем весь код отмены повторной отправки формы php

    <?

    session_start();

    if (trim($_POST["example1"]))

    {

      $_SESSION[example1] = 'POST запрос2 был отправлен = ' . strip_tags($_POST[example1]);

      header(" refresh: 0; url=#result1");

      exit;

    }


    if($_SESSION[example1])

    {

      $echo1 = '<blackblock>'.$_SESSION[example1].'</blackblock>';

      $_SESSION[example1] ='';

    }

    ?>


    <a name="result1"></a>

    <? echo '.$echo1;?>

    <form action="#result1" method="post">

      <input type="text" name="example1" value="привет мир">

      <input type="submit" value="Нажми на меня" name="submit1">

    </form>

    Нажмите кнопку "нажми на меня." Чтобы протестировать отключение запроса на повторную отправку формы, нажмите по ниже идущей кнопке...
    Выделено красным в выше идущем коде. В отличии от первого пункта, переадресация через "header" на якорь не срабатывает... пока не знаю в чем причина.

    Ищу...!

    Как найду, так исправлю.

    Если у вас тоже не срабатывает, то выделенное красным можно удалить.


Вас может еще заинтересовать список тем : #PHP | #FORM | #PHP_BOOK |
Последняя дата редактирования : 23.02.2021 20:48
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
повторная отправка формы подтвердите повторную отправку формы повторная отправка формы php как убрать повторную отправку формы запретить повторную отправку формы как убрать повторную отправку формы php повторная отправка формы при обновлении страницы защита от повторной отправки формы повторная отправка формы после обновления страницы подтвердите повторную отправку формы как убрать php запретить повторную отправку формы php



Построение гравиков
Последние комментарии :
Марат :
08/02/2021 02:50
Всегда пожалуйста приходите ещё!
подробнее.
Павел :
08/02/2021 11:11
Спасибо большое. Очень поучительно.
подробнее.
Марат :
03/02/2021 07:22
03/02/2021Тестирование и разработка Comments+1.5 отложена на неопределенное…
подробнее.
Марат :
31/01/2021 08:31
Всегда пожалуйста!Рад, что помог!
подробнее.
Bambr :
31/01/2021 07:34
Огромное спасибо! )
подробнее.

'; ';