Curl GET请求不返回表单发布数据

时间:2018-05-25 07:44:43

标签: php api curl post

我在一个页面上有一个表格让我们说' x.php'我将此表单的数据发送到另一个页面' y.php'在使用post方法的同一文件夹中。现在,我正在获取关于' y.php'通过$ _POST。现在的问题是,当我试图从另一个文件中获取这个$ _POST数据时,让我们在另一个使用curl的文件夹中说“z.php”,它显示一个空数组。登记/> 注意* - 这一切都在localhost上工作。

以下是' z.php的代码;从我试图获取数据的地方。

    $url = 'http://localhost/folder-name/y.php';
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HTTPGET, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response_json = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    $response=json_decode($response_json, true);
    echo $httpCode. "<br>" ;
    print_r($response); 

现在我检查了状态&amp;它是&#39; 200&#39;所以卷曲工作正常。但是我无法获得即将发布的POST数据&#39; y.php&#39;。

如果问题不简短,请原谅&amp;如果您有任何疑问,请随时向我询问。

1 个答案:

答案 0 :(得分:1)

当您对由PHP程序处理的URL发出HTTP请求时,该程序会运行并获取有关请求的一些数据。

如果您在该请求中发布一些数据,那么当程序执行时,该数据将通过$_POST提供。

如果您随后发出另一个HTTP请求,那么程序将拥有的数据将是 请求中的数据,而不是之前的数据。

  

我在一个页面上有一个表格让我们说&#39; x.php&#39;我将此表单的数据发送到另一个页面&#39; y.php&#39;使用post方法在同一个文件夹中。

首先,您向y.php发出POST请求,并在y.php$_POST中有一些数据。

curl_setopt($ch, CURLOPT_HTTPGET, true);

然后你向y.php发出GET请求。这是一个不同的要求。这次你不会在$_POST中获得数据。

如果您希望数据在后续请求中可用,则需要将其存储在某个位置(例如数据库),并在随后的请求中将其存储在任何位置。