POST / REDIRECT / GET vs пользовательская реализация - PullRequest
0 голосов
/ 30 сентября 2011

У меня есть некоторые формы, и в настоящее время я использую реализацию, как описано ниже:

<form action="/formpost.php" method="post" name="form1" id="form1">
    <input type="hidden" name="to" id="to" value="__COMMENT1" />
    <!-- rest of form -->
</form>

__COMMENT1 относится к странице, на которой я хочу, чтобы пользователь перенаправлялся после публикации формы.

В значительной степени происходит то, что форма отправляется в formpost.php, массив $_POST преобразуется в $_SESSION['POST'], $_POST сбрасывается, а затем пользователь перенаправляется в местоположение, указанное в значениискрытого поля ввода ([id = to] всегда один и тот же идентификатор / имя). Затем я могу продолжать использовать значения, представленные в форме пользователя (на которые ссылается массив $_SESSION), независимо от того, возвращаются ли они «назад»,обновить и т. д.

Что-то не так с этим?
Есть ли какие-либо преимущества в использовании шаблона POST / REDIRECT / GET?

1 Ответ

0 голосов
/ 30 сентября 2011

Ничего плохого в вашем методе, это удобнее, чем PRG.тем не менее, я не вижу смысла хранить переменные POST, за исключением случаев ошибки.и, конечно, нет смысла сбрасывать $ _POST.

Что ж, после некоторого объяснения кажется, что ваша установка совершенно неправильная.
Нет смысла делать одно действие для всех форм, а такжев ненужном перенаправлении.

сделайте ваше действие формы фактическим скриптом, который проверяет форму.

  • в случае успеха, перенаправьте куда хотите.
  • при ошибке:
    • сохранить данные POST и сообщения об ошибках в сеансе и перенаправить на тот же URL-адрес
    • заполнить форму и сбросить данные и ошибки POST
    • показать форму
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...