Как перенаправить пользователя со всеми переменными, приходящими с POST - PullRequest
0 голосов
/ 21 сентября 2010

У меня есть HTML-форма с action="script1.php"

В script1 мне нужно записать все данные в базу данных и перенаправить на script2.php, но мне нужно, чтобы все параметры, опубликованные в script1, были отправлены в script2. mod_rewrite включен

Как я могу перенаправить используя PHP, когда все данные поступают через POST?

если мне нравится эта отвратительная практика, но

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function Search(){
wpc_form.submit();
}
// -->
</script>
</HEAD>
<BODY onload='Search()'>
 <form name=wpc_form  method="post" action="/script2/">
 <?php
foreach($_REQUEST as $name => $value)
echo '<input type="hidden" name="'.$name.'" value="'.$value.'">'
 ?>

 </form>

Ответы [ 3 ]

2 голосов
/ 21 сентября 2010

невозможно.
Но тебе это не нужно. Потому что у вас уже есть все эти данные. Просто прочитайте это из базы данных в script2.php

0 голосов
/ 21 сентября 2010

Вы можете использовать библиотеку cURL (или аналогичную) для отправки отдельного запроса POST от вашего локального сценария во внешнюю службу.

// assemble data from your post here:
$data = array('formfield' => 'data', 'otherfield' => 'otherdata');

// and then send it off somewhere else
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://somewhere.else');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
0 голосов
/ 21 сентября 2010

Перенаправление не позволяет вам сделать это, если в браузере не запущен пользовательский код на стороне клиента для извлечения состояния из тела ответного сообщения для заполнения полей формы. Это расширенное использование и, вероятно, не то, что вы действительно хотите сделать.

Если вам действительно нужно передавать состояние между вашими формами, вы можете использовать сеанс для этого. Форма в браузере не будет иметь доступа к данным, но ваш PHP-скрипт, работающий на сервере, может хранить значения между запросами. Здесь - ссылка на учебник по сессиям в PHP, который может быть вам полезен. Этот подход часто используется для поддержания состояния приложения между запросами и перенаправлениями на сторонние сервисы, такие как поставщики OpenID и т. Д.

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