在PHP标题中发布值

在PHP标题中发布值,php,header,Php,Header,我想从我的网站向远程网页发送一些数据。实际上,它可以通过形式隐藏变量来实现。但出于安全原因,我希望在标题中设置为post变量,然后发送到该网页。我使用这个代码 $post_data = 'var1=123&var2=456'; $content_length = strlen($post_data); header('POST http://localhost/testing/test.php HTTP/1.1'); header('Host: localhost'); head

我想从我的网站向远程网页发送一些数据。实际上,它可以通过形式隐藏变量来实现。但出于安全原因,我希望在标题中设置为post变量,然后发送到该网页。我使用这个代码

$post_data = 'var1=123&var2=456';

$content_length = strlen($post_data);

header('POST http://localhost/testing/test.php HTTP/1.1');

header('Host: localhost');

header('Connection: close');

header('Content-type: application/x-www-form-urlencoded');

header('Content-length: ' . $content_length); 

header($post_data);
但是我的代码不能正常工作。
帮帮我…

POST数据构成HTTP请求的主体,它不是头,头方法用于生成HTTP响应


从PHP使用curl库。

您试图将请求标题放入应答。客户只是不知道该怎么处理

你想达到的目标是不可能的


你想完成的任务是什么?还有另一种方法。

如果您试图将请求发布到远程服务器,则需要使用类似的工具。下面是一个例子:

// Create a curl handle to a non-existing location
$ch = curl_init('http://localhost/testing/test.php');

// 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); 
或者,如果您确实想将数据放入标题中,可以使用如下方式设置自定义标题:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('field: value', 'field2: value') );

重定向文章标题的唯一方法是

307临时重定向

header('HTTP/1.1 307 Redirect');
header('Location: target.php', false, 307);
308永久重定向

header('HTTP/1.1 308 Redirect');
header('Location: target.php', false, 308);
!!!只有当重定向代码以这种方式设置了2次时,才能在PHP中工作!!! 如果你只做第二行。PHP进行了正常的302重定向


由于安全原因,如果客户端接受此重定向,则会从浏览器收到一条消息。

实际上,我想将一些数据作为post数据发送到该网页。他们会验证我的数据。如果有效,他们将允许我访问他们的网站。或者他们会返回错误消息。@kumar谁是“我”?浏览器?我的网站包含付款部分。我想将客户详细信息传递到支付网关站点。所以我从db中获取用户详细信息,并在标题中设置为post变量。然后,我要求与我的用户详细信息的网页。若用户提供的数据是有效的,那个么用户可以进行支付处理。这就是过程。@kumar,这是不可能的。让用户自己处理支付网关。@kumar您不需要传递姓名或地址,只需传递订单ID即可。这就足够了。而且很安全。别傻了,开始阅读payment gateway的文档吧——他们已经涵盖了你的每一步行动already@AndrewLBarber请不要删除agian。这是一个正确的答案。通过这种方式,服务器让客户端/浏览器知道他已将帖子再次发送到另一个目标