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

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

Довольно часто встречается проблема "повторной отправки формы в 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
Подписаться + =

Счетчик в график :

Построение гравиков
Основа для графика : счетчик посещаемости.
На отдельной : странице.
Последние комментарии :
Марат :
18.11.2022 17:21
Как же я вами завидую! Сколько у вас свободного…
подробнее.
>" :
18.11.2022 17:18
Читать тяжело. Я еще фильтрацию тегов потыкаю, если вы не…
подробнее.
Марат :
18.11.2022 17:17
А как восклицательные знаки? С ними всё нормально??? Или нет??? Вы к ним как…
подробнее.
Марат :
18.11.2022 17:15
В мире много разных отклонений... по статистике примерно 10% человек в странах имеют такие.... Была у меня…
подробнее.
qwe"> :
18.11.2022 17:00
Читать тяжело. Я еще фильтрацию тегов потыкаю, если вы не…
подробнее.
Марат :
20.10.2022 10:10
Очень рад за Вас!
подробнее.
ruweb
Страница загружена за : 0.024976 секунд. Подробнее