За последние 24 часа нас посетили 6809 программистов и 458 роботов. Сейчас ищут 79 программистов ...

Повторная отправка формы

Тема в разделе "PHP и базы данных", создана пользователем Ezhevsky, 23 май 2020.

  1. Ezhevsky

    Ezhevsky Новичок

    С нами с:
    2 апр 2020
    Сообщения:
    43
    Симпатии:
    0
    Добрый день, у меня имеется сайт, на котором есть отправка формы, находящаяся в модальном окне, и после её отправки, выходит уведомление что всё хорошо и форма отправилась, но если нажать F5 или просто обновить страницу, просит повторно отправить форму, как сделать чтобы после отправки формы, она более не отправлялась обновляя страницы?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    6.284
    Симпатии:
    1.011
    Адрес:
    Лень
    не нажимать F5 (отправить повторно запрос со всеми его заголовками)
    --- Добавлено ---
    Ведь это так очевидно...
     
  3. Ezhevsky

    Ezhevsky Новичок

    С нами с:
    2 апр 2020
    Сообщения:
    43
    Симпатии:
    0
    Это понятное дело, но например человек хочет отправить форму и чекать её статус (к примеру), ему нужно нажать на лого или через адресную строку открыть ссылку вновь ... Думаю я не шутки шутить пришёл, а интересоваться.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    6.284
    Симпатии:
    1.011
    Адрес:
    Лень
    где нажать на лого, а где на F5 = две разные вещи.
    Интернет ? есть. Гугл ? не забанили. Мозг ? ->

    Диалог закончен.
     
  5. Ezhevsky

    Ezhevsky Новичок

    С нами с:
    2 апр 2020
    Сообщения:
    43
    Симпатии:
    0
    Если тебя заводят даже тупые вопросы, зачем ты тут сидишь? Я зашел спросить так как не могу найти нужную информацию в интернете, а ты начинаешь выеживаться, да, мой вопрос и тема в принцепе может быть глупая, но если ты решил лиж набить сообщения то удачи тебе, а если ты реально пришел помогать, укажи где проблемы и как их решить, ты можешь знать то, чего не знаю я, вот теперь, дорогой мой друг, мой скорее монолог закончен.
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.188
    Симпатии:
    994
    Адрес:
    там-сям
    После отправки формы должен происходить редирект — на ту же страницу или другую — неважно. "Редирект 302" защищает от повторной отправки данных.
    1) форма → 2) обработчик, в конце header('Location...'); exit; → 3) новая страница
    в твоём случае видимо №2 и 3 не разделены. в этом проблема.

    PHP:
    1. <?php
    2. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    3.   ... здесь что-то проверяем и сохраняем ...
    4.   header("Location: page3.php");
    5.   exit ();  
    6. }