2012-03-01 7 views
2

PHP 페이지에서 일부 데이터를 다른 PHP 페이지로 POST하고 데이터를 다시 가져 오려고합니다. 이유는 아니다PHP로 결과 게시 및 결과 얻기

string(0) "" 

:

<?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); 
?> 

및 postpage.php에

:

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

모든 위해서 var_dump 나에게주는이 여기있다

내가 현재 가지고있는 것입니다 텍스트를 다시 가져 오는 중입니까?

감사합니다.

+0

사용중인 실제 "curl_init()"입니까? 그렇다면 완전한 URL (프로토콜, 호스트 이름, URI)을 사용해야합니다. –

답변

6

PHP 스크립트에서 실행 된 컬은 현재 환경을 인식하지 못합니다. 즉, 상대 URL을 사용할 수 없습니다. curl_init에 제공 한 URL은 절대적이어야합니다 (예 : http : // 포함)

+0

아 - 그랬어. 감사! – AndyGeek

2

실제 초기화가 실제로 수행되는 경우 오류는 정규화 된 URL을 요구하는 curl_init()의 인수에있을 수 있습니다.

또한 일부 오류 진단을 사용하고자 할 수 있습니다. curl_exec은 실패시 FALSE을 반환합니다. 그 이유는 다음과 같이 결정할 수 있습니다 curl_error() :

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

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

오류 진단을 위해 +1. 많은 상황에서'CURLOPT_VERBOSE'를 켜면 디버깅에 많은 도움이됩니다. –