Возможно ли разместить данные в перенаправлении PHP? - PullRequest
5 голосов
/ 21 января 2009

Хорошо, сейчас у меня есть страница (page2.php), и в верхней части она делает некоторую проверку валидации, и если что-то не получается, она возвращается к page1.php. Проблема в том, что page1.php загружается постом, что означает, что он является конечным результатом формы. Это означает, что все почтовые данные, которые у меня изначально были на page1.php, потеряны.

Так вот мой код:

if ($validation_fails)
{
    header('Location:page1.php');
}

Ответы [ 4 ]

5 голосов
/ 21 января 2009

Вы можете отправить данные обратно с помощью cURL или изменить структуру, чтобы выполнить проверку в верхней части page1.php и, если она не сработает, принять значение page2.php. Если вы делаете какую-то многошаговую форму, вы можете сохранить все данные в сеансе и заполнить поля, если в сеансе есть совпадающие данные. Хотя не уверен, что это применимо.

3 голосов
/ 21 января 2009

Вы можете перестроить логику. Проверка должна происходить на page1.php, и если она не выполняется, перенаправление не происходит. Если это удастся, вы будете перенаправлены.

Если вы беспокоитесь о безопасности (люди просто переходят на страницу2), вы можете установить переменную сеанса, которая проверяется на странице2 и устанавливается на странице1.

2 голосов
/ 21 января 2009

Разве вы не можете просто включить скрипт проверки с помощью include или require вместо перенаправления на него?

1 голос
/ 21 января 2009

На page2.php Вы можете сохранить содержимое сообщения в переменной $ _SESSION, если проверка не удалась.

На page1.php вы просто включаете правильно экранированную / кодированную версию данных, которые вы сохранили в сеансе, как часть формы. Вы также сможете использовать это для обновления формы, чтобы пользователю было ясно, какая часть не прошла проверку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...