Php 设置POST变量和重定向页面

Php 设置POST变量和重定向页面,php,Php,我目前有一个标准的paypal表单,它可以发布到paypal并收取一定的费用。但是,用户可以轻松修改这些详细信息。因此,我想知道我能否做到以下几点: 我的“Finish&Pay”按钮不是直接指向paypal,而是指向我的网站 然后,我的网站PHP代码设置POST变量(地址、名称、金额、业务、返回url等),然后将页面重定向到paypal网站 如何使用PHP实现这一点?到目前为止,我只知道使用header()函数重定向页面,但我不知道如何设置POST变量。编辑-这不起作用 试试这个: // Set

我目前有一个标准的paypal表单,它可以发布到paypal并收取一定的费用。但是,用户可以轻松修改这些详细信息。因此,我想知道我能否做到以下几点:

我的“Finish&Pay”按钮不是直接指向paypal,而是指向我的网站

然后,我的网站PHP代码设置POST变量(地址、名称、金额、业务、返回url等),然后将页面重定向到paypal网站


如何使用PHP实现这一点?到目前为止,我只知道使用
header()
函数重定向页面,但我不知道如何设置POST变量。

编辑-这不起作用

试试这个:

// Set Data
$data = array();
$data['address'] = $_POST['address'];
$data['name'] = $_POST['name'];
//  the other info ....

// Send post data as url-encoded in the header
$req = http_build_query($data);

header("method: POST\r\n");
header("Host: localhost\r\n");
header("Content-Type: application/x-www-form-urlencoded\r\n");
header("Content-Length: ".strlen($req)."\r\n");
header($req."\r\n\r\n");
header("Connection: close\r\n\r\n");

header("Location: http://paypal.com/path/\r\n");
初始职位

您可以使用curl:

$ch = curl_init('http://paypal.com/path/');

// Set Data
$data = array();
$data['address'] = $_POST['address'];
$data['name'] = $_POST['name'];
//  the other info ....

// Set options
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Execute
$page = curl_exec($ch); 

但这肯定只会得到结果,而不会将用户重定向到paypal页面?在重定向页面上,必须向用户显示发送数据?如何构建变量
$data
$data
是要发送到paypal的项目的变量数组,之后,使用
http\u build\u query
将其转换为http查询并添加到标头中。您测试过这个吗?我暂时移动了服务器错误
。您没有在重定向时设置
POST
变量。你必须提出不同的要求。该死!我能做什么?人们可以在我的表单中编辑发布到paypal的
金额
字段。这是废话。你最终必须将这些细节发布到paypal,所以继续使用你的
finish&pay
。但是,在返回网站后,对照支付的金额检查订单,并告诉用户仍然有X需要支付,其他人都是这样做的吗?我不敢相信paypal有这么大的发展空间。