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

Вы можете найти подобный вопрос здесь Запрос PHP Post внутри запроса POST , но в моем контексте это не работает.

У меня есть форма (форма бронирования для веб-сайта тура), и когда форма отправляется, значения обрабатываются в сценарии, таком как проверка и вычисление значений и отправка электронной почты.

после обработки переменных я хочу отправить его на страницу для оплаты, и на этой странице будут опубликованы данные оплаты в PayPal.

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

Ответы [ 3 ]

2 голосов
/ 19 декабря 2010

Чтобы создать запрос POST, откройте TCP-соединение с хостом с помощью fsockopen (), затем используйте fwrite () в обработчике, возвращенном из fsockopen () с теми же значениями, которые вы использовали в функциях заголовка в OP.Кроме того, вы можете использовать cURL.

<?php
 if(isset($_POST['Name']))     $Name   = $_POST['Name'];
 if(isset($_POST['Email']))   $Email   = $_POST['Email'];
 if(isset($_POST['Message']))   $Message= htmlentities($_POST['Message']);

 $Curl_Session = curl_init('http://www.yoururl.com/script.php');
 curl_setopt ($Curl_Session, CURLOPT_POST, 1);
 curl_setopt ($Curl_Session, CURLOPT_POSTFIELDS, "Name=$Name&Email=$Email&Message=$Message");
 curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
 curl_exec ($Curl_Session);
 curl_close ($Curl_Session);
?>

Где $ Message будет вашими переменными.

РЕДАКТИРОВАТЬ: я ответил на это давно, может быть, я забыл сослаться на php.net, но вотссылка на комментарий http://www.askapache.com/htaccess/sending-post-form-data-with-php-curl.html как ссылка

1 голос
/ 19 декабря 2010

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

Чтобы начать сеанс, просто наберите session_start();

и для добавления сеансовых переменных просто используйте суперглобальный массив $_SESSION['myvar'] = $value; затем вы можете прочитать их с помощью тех же средств print_r($_SESSION[]);

Однако, если вы говорите об измерении данных с помощью API PayPal, я настоятельно рекомендую взглянуть на руководство по API для их разработчиков.

Надеюсь, это поможет, RayQuang

1 голос
/ 19 декабря 2010

Вы не можете. HTTP не предусматривает перенаправления с чем-либо в теле запроса (куда отправляются данные POST). Вы можете перенаправить только с запросом GET. Поэтому типичный способ сделать это - перевести пользователя на вторую страницу, на которой есть кнопка «Перейти к PayPal» или что-то в этом роде. Эта кнопка отправляет все данные в PayPal как обычно.

Для чего стоит, если это кнопка PayPal «Купить сейчас», они фактически (даже если не документированы) позволяют отправлять все эти переменные формы в запросе GET через URL. Мы делаем это в одном из наших приложений, где «отслеживаем» начало процесса оплаты, а затем перенаправляем на URL PayPal, содержащий все поля формы в виде строки запроса, а затем «завершаем» транзакцию, когда пользователь возвращает.

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