Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 47

Как правильно убрать повторную отправку формы?

29.07.2018, 20:09. Показов 4821. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте, нужно убрать повторную отправку формы, но в то же время и чтобы надписи выводились об ошибках.
К примеру есть регистрация, там пользователь вводить какие-то данные, и если он ошибся в чём-то, должна вывестись ошибочка, хорошо её можно вывести, но будет повторная отправка формы, тогда делаем редирект на эту же страницу, но тогда не выводятся надписи. Как решить вот это дело? Ниже мои исходники
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form action="" method="post">
<input type="text" name="login"><br>    
<input type="password" name="pass">
<input type="submit" name="submit">
</form>
 
<?php 
    include "/files/media/scripts/php/connect.php";
 
    if(isset($_POST['submit']))
    {
        $l = $_POST['login'];
        $p = $_POST['pass'];
 
        $p = md5($p);
 
        $query = mysqli_query($link, "INSERT INTO users(login, password) values('".$l."', '".$p."')");
    }
 ?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.07.2018, 20:09
Ответы с готовыми решениями:

Как убрать повторную отправку формы?
Здраствуйте, у меня такая проблема мне надо сделать что-то типо поиска вот мой код: &lt;form action=&quot;&quot;...

Подтвердите повторную отправку формы
Создал форму для отправки сообщения на странице, при перезагрузке постоянно выплывает окно &quot;Подтвердите повторную отправку...

Как избежать повторную отправку данных
&lt;?php require_once('functions/output_widgets/widgets.php'); $widgets = new outputWidgets(); ?&gt; &lt;!DOCTYPE html&gt; &lt;html&gt; ...

9
1 / 1 / 2
Регистрация: 11.04.2018
Сообщений: 148
29.07.2018, 20:31
Cамый простой вариант, используй $_SESSION['name'] = 'Ошибка';
Дальше выводи на страницу свою ошибку echo $_SESSION['name'];
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 47
29.07.2018, 20:45  [ТС]
Nikolay192, Где-то я слышал что так не очень делать, я так делал, ну примерно так, но так не очень сказали

Добавлено через 24 секунды
Nikolay192, и это самый простой, а не самый простой?)
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
29.07.2018, 20:53
Повторная отправка формы в случае ошибки это нормально
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 47
29.07.2018, 21:06  [ТС]
Jewbacabra, в ВК такого нет

Добавлено через 18 секунд
Jewbacabra, и я считаю это ненормальным, это как-то не очень
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
29.07.2018, 21:18
Цитата Сообщение от flowwolf Посмотреть сообщение
я считаю это ненормальным, это как-то не очень
Тогда встречный вопрос: что плохого в повторной отправке форму, почему браузеры выдают такое предупреждение?
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 47
29.07.2018, 21:30  [ТС]
Jewbacabra, плохо, что будут в бд заноситься дублированные записи, и сам визуал, если можно так назвать не красиво и не очень это
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
29.07.2018, 21:44
Цитата Сообщение от flowwolf Посмотреть сообщение
что будут в бд заноситься дублированные записи
А в случае ошибки ничего не будет занесено, следовательно и при повторном запросе опять ничего.
Для красоты следует на клиенте валидацию проводить.
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 47
29.07.2018, 21:45  [ТС]
Jewbacabra, как эт у валидацию сделать, или где про неё почитать можно?
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
30.07.2018, 15:22
Алгоритм
index
1.php -проверка формы
__1.1 если форма правильна, {редирект на заполнение базы и открытия следующей или этой же страницы}
__1.2 иначе {
____вывод ошибки и переход дальше для повторного открытия формы.
____2.html форма с отправкой на index
__}
__3. если (или этой же страницы){
____открываем страницу дальше
__}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.07.2018, 15:22
Помогаю со студенческими работами здесь

При нажатии кнопки назад в браузере получаю следующее - "Подтвердите повторную отправку формы"
Проблема, как я понимаю, заключается в том что не сохраняются переменные сессии, куки использовать не хочу. стандартно создаем форму...

Запретить повторную отправку POST запроса при обновлении страницы
Вопрос немного нубский... Но есть страница с формой, юзер вводит какие то данные, и при нажатии на кнопку происходит отправка POST...

Как удалить сессию при обновление страницы и повторную отправку формы
Здравствуйте есть такой скрипт: &lt;script type=&quot;text/JavaScript&quot;&gt; $(document).ready(function() { ...

Починить повторную отправку формы в ulogin
Нужно убрать повторную отправку формы, при попытке вернуться на предыдущую страницу браузер выдает вот это: //// Подтвердите...

Как заблокировать повторную отправку письма
Привет!! как мне сделать чтобы после отправки письмо один раз, потом заблокировать возможность повторной отправки??? Примерно: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru