Как избавится от двойной отправки формы, методом POST?
Есть ли решения данной проблемы без прикручивания ajax, фреймворков, редиректов. Чтобы после отправки формы и перезагрузки страницы, форма не отправлялась повторно? Редирект не помогает при возврате на страницу, да и сам метод из разряда (спрятать). Возможно ли сообщить браузеру, чтобы не сохранял форму POST?
1. отправлять форму через XHR / fetch (ajax post).
2. редирект после отправки формы - типовое и надёжное решение
3. можно сохранять в сессию последнюю отправленную форму. и если видим дубликат данных то игнорировать этот post-запрос.
Если редирект "не помогает" то прошу в студию минимальный пример кода где у вас форма + страница которая после получения формы делает редирект, а мы проверим правда ли "не помогает".
Твой "запрос на удаление пост форм" - это и есть редирект, чувак. В буквальном смысле слова. Это именно то что он делает - запросить ту же страницу без всяких форм.
И если у всех он работает, а тебе вдруг не помогает, то дело наверное не в нем.
Как говорится, дело было не в бобине.
aspirantes, дада, кругом враги, власти скрывают :))))
тебе самому не смешно эту ересь нести?
тебе аж три варианта написалы, а ты всё талдычишь свое "вариантаф нету"
Если тебя так пугает, что "форма висит в браузере", то делай всю обработку на одном адресе.
форма, обработчик, и редирект - все должны быть строго на одном url. тогда после редиректа любой кэш будет перезаписан.
При отображении формы делайте скрытое поле с uuid и храните его в сессии или бд. При получении смотрите это значение если оно есть то все нормально и вставляете, после вставки стираете его. Впрочем можно и до. Если нет выводите сообщение что форма уже отправлена