如何在php中捕获$_POST之后的响应


How to capture a response after $_POST in php?

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

问题是instance.php和page2不在同一个服务器中。我知道如何在Java quiet中很好地处理oop,但我觉得在php中并不是那么简单。我很确定我错过了什么。

你能帮我为我的实现需求提出一个好的设计吗?

编辑:为了清楚起见,我正在寻找一种方法,让不在同一服务器/域上的两个或多个php文件具有这种关系。

如果你坚持使用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';

您需要安装并使用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,我建议在instance.php上制作一个array()并序列化它:

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

并在第2页中取消其序列化:

...
$arr = unserialize(curl_exec($ch))
...