Я согласен с ответом Чарлигрифера. Это самый простой и эффективный способ.
Я не согласен с мнением GolezTrol о том, что "будет всегда лучше всего публиковать на одной и той же странице и ..." Только если вам нужно выполнить какое-то обычное действие постобработки, тогда может быть но все же вам лучше вызвать для этого многократно используемую функцию. Как новичок, вы можете придерживаться того, что вам кажется легким, но это не значит, что оно лучше.
Перенаправление на неправильную страницу
Я не согласен с этим еще раз: «Используя JavaScript, вы позволите пользователю при некоторых обстоятельствах размещать данные на неправильной странице».
Если он переходит на неправильную страницу из-за вашей логической ошибки (в некоторых сложных случаях, о которых вы не думали должным образом), то это ваша ошибка, и вы просто будете скрывать свою ошибку, игнорируя javascript, и будет больше задержек из-за перенаправления нескольких страниц, ненужные загрузки страниц, которых можно избежать, и т. д.
Очень важно следить за правильной проверкой всех параметров во всех точках входа (проверка типов переменных, обязательная проверка параметров). Это будет гарантировать безопасность в случае публикации на неправильных страницах, если это вообще произойдет.
При отсутствии JavaScript
Все современные браузеры поддерживают Javascript. Если пользователь выключил, сообщение может отображаться, но это произойдет в меньшем количестве случаев. Пользователям может быть показано сообщение «Для лучшего опыта / простоты использования включите JavaScript».
Наилучшим подходом здесь было бы сохранение условия для нормальной работы формы с использованием логики на стороне сервера (отправка по тому же URL-адресу, а затем перенаправление). Так что обычно и в большинстве случаев пользователи получают лучший интерфейс.
Очень часто среди начинающих практикуют игнорировать такие вещи или следовать в одних местах, а не в других. Правильное и максимально возможное повторное использование кода является ключом к решению большинства проблем. Да, для подготовки наиболее повторно используемого кода требуется время, но затраченное здесь время всегда окупается.