Опубликовать и получить результат с PHP - PullRequest
2 голосов
/ 01 марта 2012

Со страницы PHP я пытаюсь разместить некоторые данные на другой странице PHP и получить данные обратно.

Вот что у меня сейчас есть:

<?php 
// Initialize cURL session
$ch = curl_init('postpage.php');

// Set some options on the session
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('field1' => 'Andrew'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Execute post
$result = curl_exec($ch);

var_dump($result);

// Close the session
curl_close($ch);
?>

и на пост-странице.php:

<?php
echo 'Receipt of post request. field1:'.$_POST["field1"];
?>

Все, что дает мне var_dump, это:

string(0) "" 

Почему я не получаю текст обратно?

Спасибо!

Ответы [ 2 ]

6 голосов
/ 01 марта 2012

Завиток, выполненный из вашего php-скрипта, не знает о текущей среде, то есть вы не можете использовать относительные URL.URL, который вы указываете для curl_init, должен быть абсолютным (т.е. включая http://)

2 голосов
/ 01 марта 2012

Если это действительно фактическая инициализация, которую вы делаете, ошибка может заключаться в аргументах curl_init(), который ожидает полностью определенный URL.

Кроме того, вы можете использовать некоторые средства диагностики ошибок. curl_exec возвращает FALSE при ошибке. Причину можно определить с помощью curl_error():

$ch = curl_init( ... );
// ... some curl_setopt()
$result = curl_exec($ch);

if ($result === FALSE)
{
    die("cURL error: " . curl_error($ch));
}
...