Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 04.12.2019, 13:15   #1
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 135
По умолчанию Отправка данных формы

Здравствуйте, а как в общем фиксится проблема повторной отправки формы?
Вот мне в голову приходит только использование промежуточных php файлов, в которые будем отправлять форму, а там уже записывать в сессии или куки, которые будем использовать на основной странице.
Есть еще какие-то способы?=)
Спасибо за внимание=)
volni вне форума Ответить с цитированием
Старый 04.12.2019, 13:58   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 3,472
По умолчанию

после отправки формы редиректить на другую страницу - на успешную если успех, на ошибку если неуспех, либо на ту же самую с формой + данные для вывода результата отправки

а еще можно ajax отправлять - тогда вообще нет проблемы повторной отправки
ADSoft вне форума Ответить с цитированием
Старый 04.12.2019, 14:38   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 14,046
По умолчанию

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

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

При необходимости можно держать массив кодов, если у вас формы встречаются в разных местах сайта. Для каждой формы генерировать свой код. Это на случай, если пользователь откроет сразу несколько страниц сайта в разных вкладках.
Arigato вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
php, mySQL-отправка данных с формы в БД РезедаМуратова PHP 10 06.04.2018 15:33
Отправка данных формы Kuzia12 HTML и CSS 3 27.08.2012 01:58
Отправка данных из формы на мыло DeDoK PHP 9 12.10.2011 23:31
отправка данных формы по условию Arassir JavaScript, Ajax 2 28.06.2011 19:52
Отправка данных из формы Diruss HTML и CSS 14 17.06.2011 22:09