У меня есть форма на одной странице, скажем «x.php», и я отправляю данные этой формы на другую страницу «y.php» в той же папке, используя метод публикации. Теперь я получаю данные о y.php через $ _POST. Теперь проблема в том, что когда я пытаюсь получить эти данные $ _POST из другого файла, скажем 'z.php' в другой папке с помощью curl, он показывает пустой массив.
Примечание * - Все это работает на 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); 

Теперь я проверил статус - он «200», так что завиток работает нормально. Но я не могу получить данные POST, поступающие на «y.php».

Пожалуйста, простите, если вопрос не является кратким, и не стесняйтесь спрашивать меня об этом, если у вас есть какие-либо вопросы.

-2
nishant 25 Май 2018 в 10:44

1 ответ

Лучший ответ

Когда вы делаете HTTP-запрос на URL-адрес, обрабатываемый программой PHP, эта программа запускается и получает некоторые данные о запросе.

Если вы отправляете данные в этом запросе POST, они будут доступны через $_POST при выполнении программы.

Если впоследствии вы сделаете еще один HTTP-запрос, то данные, которые будет иметь программа, будут данными в этом запросе, а не в предыдущем.


У меня есть форма на одной странице, скажем «x.php», и я отправляю данные этой формы на другую страницу «y.php» в той же папке, используя метод публикации.

Итак, сначала вы делаете запрос POST к y.php, а в y.php у вас есть данные в $_POST.

curl_setopt($ch, CURLOPT_HTTPGET, true);

Затем вы делаете запрос GET к y.php. Это другой запрос. На этот раз у вас не будет данных в $_POST.


Если вы хотите, чтобы данные были доступны в следующем запросе, вам нужно будет где-то их сохранить, например, в базе данных, и получить их из того места, где вы их храните, в следующем запросе.

1
Quentin 25 Май 2018 в 07:49