如何在PHP中的$ _POST后捕获响应?

时间:2012-03-08 02:18:00

标签: php oop

所以我有一个名为instance.php的文件,其中包含我的类“listing”。第2页正在发送 instance.php的$ _POST参数。 instance.php赞成实例化“listing”的对象并回显唯一的id。我希望第2页能够捕获这个ID,甚至可能更多。

问题是instance.php和第2页不在同一台服务器上。我知道如何在Java安静地处理oop,但我感觉在php中并不是那么简单。我很确定我在这里遗漏了一些东西。

你能帮我建议一个好的设计来满足我的实施要求吗?

编辑:要清楚,我正在寻找两种或更多不在同一服务器/域上的php文件的方式来建立这种关系。

2 个答案:

答案 0 :(得分:2)

如果你坚持使用POST进行交互(这是一种奇怪的选择),那么你将不得不使用cULR来促进它。

另一种方法是使用file_get_contents()功能。这将限制您仅使用GET方法:

// in your Page2
$val = 12345;
$data = file_get_contents("http://external.site.foo/instance.php?param={$val}");
var_dump($data);

// in the instance.php
echo $_GET['param'] , '-verified';

答案 1 :(得分:0)

您需要安装并使用cURL第2页中的代码如下所示:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://example.com/instance.php");
curl_setopt($ch, CURLOPT_POSTFIELDS, "key1=value1&key2=value2");

$id = curl_exec($ch);

curl_close($ch);

如果您想要检索的ID超过ID,我建议您在array()上制作instance.php并对其进行序列化:

echo serialize(array("id" => 1, "name" => "John"));

并在第2页

中反序列化
...
$arr = unserialize(curl_exec($ch))
...