Есть ли способ перенаправить пользователя с помощью запроса POST? - PullRequest
0 голосов
/ 16 апреля 2011

Мне нужно перенаправить пользователя, но мне нужно смоделировать некоторую обработку форм, способ конечной точки для запроса POST, поэтому я в основном хочу перенаправить моего пользователя, когда он отправлял запрос на публикацию.

Я знаю, что могу сделать страницу между ними и использовать javascript для отправки скрытой формы, но я бы хотел этого избежать.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2011

Я предполагаю, что вы ведете какую-то регистрацию статистики или что-то еще на промежуточном сервере?

Другой способ сделать это ... иметь форму POST для целевого URL, но использовать ajax длязахватите данные формы сначала.

<form id="formid" onsubmit="saveFormValues(this);return true" target="http://target/url">

</form>

браузер сначала вызывает saveFormValues ​​(), а затем возвращает true, указывая, что форма может быть обработана обычным способом.

Конечно, это не будет работать для людей без JavaScript.Единственный способ размещения POST на вашем промежуточном сервере, это для вашего промежуточного сервера POST данные на сам целевой сервер, используя cURL.А потом возвращаю ответ.

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://target/url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
0 голосов
/ 16 апреля 2011

почему бы не добавить скрытое значение в форму, а затем сделать это;

<code>if (isset($_POST['submit']) {</p>

<p>// form is submmitted</p>

<p>header('location: /')</p>

<p>}</p>

<p>elseif (!isset($_POST['submit'])) {</p>

<p>// redirect to form</p>

<p>}</p>

<p>else {</p>

<p>// error handling or something else </p>

<p>}

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

Трудно было ответить на ваш вопрос, но это то, что я собрал, если нет, то оставьте мне комментарий, и я отредактирую свой ответ, приятель!

:)

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