Я запутался в PHP Post/Redirect/Get

В статье о предотвращении повторной отправки PHP-форм я прочитал следующее:

(Не цитирую) Это может быть страница, которая получает данные формы, например, называется "form.php":

Поэтому страница, которая обрабатывает POST-данные, будет называться "submit.php". Если вход прошел правильно, будет запущен этот код:

header('Location: /login/form.php?success=true');

Однако, не может ли пользователь просто перейти на указанный выше URL? Кроме того, какова цель переменной GET? Не может ли у меня просто быть скрипт в form.php, который проверяет, вошел ли пользователь?

В submit.php я должен сохранить имя пользователя как $_SESSION['username'], а затем проверить, что isset() в form.php? Также, поскольку URL с "success" в нем не очень красив, будет ли экономичным перенаправить пользователя еще раз? Должен ли я использовать PHP header() или Javascript window.location.href? Как видите, я в некотором замешательстве.

Спасибо за любую помощь.

7
задан hakre 13 October 2011 в 07:58
поделиться