设置POST变量和重定向页面

时间:2013-04-22 11:43:17

标签: php

我目前有一个标准的贝宝形式,它发布到贝宝并收取金额。然而,用户可以容易地修改这些细节。所以,我想知道我是否可以做到以下几点:

而不是我的'结束&付费按钮直接转到paypal,按钮的表格指向我的网站。

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

如何通过PHP实现这一目标?到目前为止,我所知道的唯一代码是使用header()函数重定向页面,但我不知道如何设置POST变量。

1 个答案:

答案 0 :(得分:0)

编辑 - 这不起作用

试试这个:

// 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);