Эта тема на forum.dklab.ru


CoddaParser: POST запрос
Добрый день. Есть проблема:

Есть форма, которые должна пересылать данные методом POST на другой сервер. Перед отправкой данных на моей странице я должен сделать валидацию форму и еще несколько операций, и только после этого отправить пользователя вместе с post-данными на удаленных хост.


Вопрос: как реализовать post запрос к удаленному серверу вместе с полноценным редиректом пользователя туда?

Формирование запроса в ручную (curl, sockets) в принципе справляется с этой задачей, но фактически пользователь остается на моей текущей странице. Это конечно приемлемо, но я хочу редирект !) как при нажатии на кнопку "Отправить".

Что может сказать по данному вопросу уважаемый ALL?
foxx:
в начале скрипта:
<?php
if(isset($_POST['nazhato'])) header("Location: host to redirect");
?>

форма в теле
<form method="post">
<input type="submit" name="nazhato" value="Отправить" />
</form>

Редирект точно будет работать. Вот только будет ли передаваться хосту массив POST? Попробуйте, сообщите плиз результаты. Для меня тоже вопрос актуальный.
Anonymous:
в начале скрипта:
<?php
if(isset($_POST['nazhato'])) header("Location: host to redirect");
?>

форма в теле
<form method="post">
<input type="submit" name="nazhato" value="Отправить" />
</form>

Редирект точно будет работать. Вот только будет ли передаваться хосту массив POST? Попробуйте, сообщите плиз результаты. Для меня тоже вопрос актуальный.

Так работать точно не будет.
chin:

в начале скрипта:
<?php
if(isset($_POST['nazhato'])) header("Location: host to redirect");
?>

Это будет простой редирект. А человеку нужен редирект с POST данными, введенными пользователями в форму, да еще и валидированными.

http://forum.dklab.ru/php/heap/HowToRedirectTheUserOnTheSamePageAndToTransferGivenByMethodPost.html?highlight=%EC%E5%F2%EE%E4%2A+%EC%E5%F2%EE%E4+post%2A+post
Можно делать валидацию на JS, а у формы сразу делать action="http://another-host.com". Тоесть, чтобы форма сразу отправлялась на внешний сайт. А можно делать валидацию на PHP, потом в ответе генерировать уже заполненную "валидированными" данными форму с action, приведенной выше, и при document.onload() нажимать этой форме на submit. Тоесть, получится незаметный "POST редирект" пользователя с валидными данными, отправленными через форму. Если, к примеру, возникает ошибка при валидации - не выдавать "форму-редирект", а просто вернуть первую форму с ошибкой.

Эта тема на forum.dklab.ru