2012-12-07 117 views
0

我做在PHP捲曲張貼在網站上的數據和呼應的結果,但它並沒有發佈數據 這裏是我的代碼:捲曲不會發布數據PHP

<?php 
$imei = "imei=XXXXXXXXX"; 

//set POST variables 
$url = 'http://XXX.com/XXX.php'; 


//open connection 
$ch = curl_init(); 

//set the url, number of POST vars, POST data 
curl_setopt($ch,CURLOPT_URL, $url); 

curl_setopt ($ch, CURLOPT_POST, true); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $imei); 
curl_setopt ($ch, CURLOPT_REFERER, 'http://www.XXX.com'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_STDERR, fopen('php://output', 'w+')); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 

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



//close connection 
curl_close($ch); 
echo $result; 
echo $imei; 

?> 

當我回聲$ imei,它顯示完整的字符串,但數據不通過:S

請幫忙,代碼有什麼問題?

在此先感謝

更新:在網站的HTML orgignal它的名字= 「IMEI」 爲ID = 「IMEI」

+1

你應該有呼應字符串'$ result' –

+0

這不是我的萬阿英,蔣達清,即使我贊同結果它不顯示數據公佈它說無效imdi因爲它沒有被通過 –

+0

你這是什麼期望從echo $ imei; ?這是「imei = XXXXXXXXX」 –

回答

0

您沒有設置選項CURLOPT_RETURNTRANSFER。如果您未將此選項設置爲true,cURL不會返回響應。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

我還建議將您的POST數據更改爲數組而不是字符串。 cURL選項接受一個數組,並自動從該數組中編譯字符串。如果你自己構建它,你也必須對它進行編碼。

$imei = array('imei' => 'XXXXXXXXX'); 

編輯:根據您的調試數據,我認爲您的資源需要GET請求不發佈。 您還應該設置一個用戶代理,因爲該網站可能會拒絕請求,而一個:

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'); 

Manual

CURLOPT_RETURNTRANSFER
TRUE返回轉讓,串curl_exec()的返回值,而不是直接輸出。

+0

仍然有同樣的問題:S \ –

+0

'var_dump($ result);'show?另請檢查您的錯誤日誌 – MrCode

+0

另請參閱我的關於發佈數據的編輯。 – MrCode