СКРИПТЫ
ТЕГИ:
php (325)
js (242)
html (146)
css (130)
html tags (62)
js tag (56)
jquery (42)
text (37)
js method (36)
php array (33)
js date (33)
form html (30)
online (28)
fonts (26)
link (26)
Показать еще :
ruweb.net (25)
foto (22)
php file (20)
atom (20)
forum (19)
svg (18)
input (18)
hosting (18)
php date (17)
html book (16)
php time (16)
board (16)
color (15)
js url (14)
img (14)
js events (14)
js time (14)
info (13)
select (13)
osclass (13)
htaccess (13)
notepad (13)
знак (12)
php path (12)
keyboard (12)
php img (12)
download (12)
table (12)
dw block (12)
jsphp (11)
form (11)
icon (11)
yandex (10)
mouse (10)
js delete (10)
keyframes (10)
hover (9)
dosite (8)
browser (7)
cookie (7)
comment (7)
php url (7)
php get (6)
click (6)
mysql (6)
canvas (6)
list (6)
iframe (6)
js math (5)
reg.ru (5)
adminka (5)
mb (5)
heading (5)
tag a (5)
chart (5)
search (5)
ftp (5)
year (5)
js id (5)
value (5)
base64 (4)
day (4)
нок (4)
flags (4)
week (4)
xml (4)
scandir (4)
ssl (4)
bbcode (4)
php var (4)
games (4)
console (4)
js form (4)
vk (4)
pages (4)
submit (4)
month (4)
symbols (4)
task (4)
https (3)
js hash (3)
js post (3)
domen (3)
money (3)
vs code (3)
куб (3)
js img (3)
ucoz (3)
padding (3)
captcha (3)
numbers (3)
line (3)
tag hr (2)
qr kod (2)
youtube (2)
video (2)
рся (2)
sitemap (2)
counter (2)
details (2)
prompt (2)
typeof (2)
google (2)
height (2)
arrows (2)
seo (2)
js vars (2)
smile (1)
scroll (1)
speed (1)
нод (1)
archive (1)
header (1)
windows (1)
rutube (1)
jino (1)
cursor (1)

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

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

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

  1. Пример повторной отправки формы
  2. Убрать повторную отправку формы php
  3. Форма для проверки повторной отправки формы
    Скачать - что в архиве?
  4. Отключаем повторную отправку формы 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.

    С самого начала давайте обговорим "логику убирания повторной отправки формы", а далее приступим к теории!

    Логика отключения повторной отправки формы №1

    Обрабатываем post на отдельной странице.

    На данную страницу отправляем с помощью action.

    У нас есть такая вещь как сессия - это будет контейнером для переноса полученного результата.

    Приступим к...

    Теория : "убрать повторную отправку формы".

    Для того, чтобы отключить повторную отправку формы Вам понадобится:

    Тег form.

    В тег помещаем action с адресом(это живой пример) :

    https://dwweb.ru/__a-data/__all_for_scripts/__examples/html/redirect.php

    Чтобы не оправлять бессмысленные "post"-ы, возьмем два типа number - это будет импровизированный калькулятор... соберем форму:

    <form action="https://dwweb.ru/__a-data/__all_for_scripts/__examples/html/redirect.php" method="post" class="variant_action">
     <input type="number" name="variant_action_1" required>
     <input type="number" name="variant_action_2" required>
     <input type="submit" value="Отключи повторную отправку" name="variant_action">
    </form>

    Добавим стили, чтобы наши "input"-ы выглядели чуть поинтереснее.


    Вторая страница.

    Перейдем ко второй странице(которая в action). На ней расположим:

    Проверим стартовала ли сессия - располагаем в самом верху.

    Примем два post с использованием strip_tags.

    Сложим их(у нас два числа - вы же можете отправлять и принимать любые post-ы).

    Помещаем в сессию полученное значение.

    Сделаем переадресацию назад на эту страницу.

    Если требуется вывести результат в сессии выводим с помощью echo

    echo $_SESSION[имя_сессии];

    Далее убиваем сессию.

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

    Соберем весь код и помещаем одну часть здесь на странице... вторую часть кода на второй странице...

    Пример удаления удаления повторной отправки формы через action

    Для того, чтобы "удалить повторную отправку формы через action" - введите :

    В первое поле - первое число.

    Во второе поле - второе число.

    И нажмите кнопку - "Отключи повторную отправку"


    Пример формы для отключения повторной отправки формы


    Скачать - что в архиве?

    В архиве приведенный пример теории:

    Файл №1 с формой:

    Вторая страница - полностью соответствует описанию

    Бонус!

    В двух файлах использована теория и практика вывода автоматически определяемого пути.

    Скачать здесь.


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

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

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

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

    session_start();

    В условии

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

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

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

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

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

    if($_SESSION[example1])

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

    $_SESSION[example1] ='';

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

    Чтобы протестировать отключение запроса на повторную отправку формы, нажмите по ниже идущей кнопке...
    Смотри работу скрипта на примере.

    Обращаю ваше внимание!

    В связи с тем, что на данной странице - возникает ошибка "header" - что заголовки были уже отправлены!

    header("refresh: 0;");
    Поэтому... нам нужен отдельный пример, который вы уже видели выше - на примере.

    Скачать завтра!

Не благодарите, но ссылкой можете поделиться!
Временная ссылка для быстрейшей индексации : список всех квадратных корней.
Теги :
повторная отправка формы
php повторные запросы страницы
подтвердите повторную отправку формы
повторная отправка формы php
как убрать повторную отправку формы
запретить повторную отправку формы
как убрать повторную отправку формы php
повторная отправка формы при обновлении страницы
защита от повторной отправки формы
повторная отправка формы после обновления страницы
подтвердите повторную отправку формы как убрать php
запретить повторную отправку формы php
что такое повторная отправка формы
форма php защита от повторов
подтвердите повторную отправку формы как убрать php
Еще никто не прокомментировал! COMMENTS+   BBcode
Подписаться + =

ruweb dwweb.ru есть здесь:
Последние комментарии :
Марат :
15.08.2023 17:50
Значит в "maxv" сидит…
подробнее.
михаил :
15.08.2023 16:53
а если это сделано для диаграммы values / maxv)…
подробнее.
Марат :
17.07.2023 15:50
Спасибо за интересный вопрос! Посмотрите …
подробнее.
Александр :
17.07.2023 14:58
а как сделать чтобы при повторном клике значение value возвращалось к…
подробнее.
Марат :
30.06.2023 10:18
Спасибо за внимательность!
подробнее.
???? :
29.06.2023 15:37
Прямоугольник - это геометрическая фигура, у которой три угла…
подробнее.
Немного о ruweb.net!
Страница загружена за : 0.020145 секунд. Подробнее