2013-04-17 54 views
0

叫我USIG curl_setopt到EVAL來自不同服務器的另一文件,鏈接是這樣的「http://somewhere.com/index.php?vars=hello變量傳遞到另一個頁面時,它使用curl_setopt

現在

在somewhere.com/index.php我需要獲得使用curl傳遞的變量值,但到目前爲止我無法獲得任何值。

這裏是供你參考我的示例代碼是從文件調用somewhere.com:

$d = "http://somewhere.com/index.php?vars=hello"; 
$ch1 = curl_init(); 

curl_setopt($ch1, CURLOPT_AUTOREFERER, TRUE); 
curl_setopt($ch1, CURLOPT_HEADER, 0); 
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch1, CURLOPT_URL, $d); 
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, TRUE);  

$data1 = curl_exec($ch1); 
eval($data1); 
curl_close($ch1); 

在somewhere.com/index.php我已經做的print_r($ _ GET);查看任何傳遞給文件的值,但它不返回任何內容。

回答

1

index.php文件中發生了什麼變量「hello」?當你對另一個頁面進行卷頁發佈時,其他頁面通常會迴應一個響應,並且這個響應就是你評估的內容。你可以從index.php發佈你的代碼,以便我們可以看到你正在嘗試做什麼?

編輯:您也可以使用chrome inspector,fiddler或其他網絡監視器來查看http請求實際上是否被關閉,並檢查您是否實際得到200迴應。

編輯:我不知道你在用什麼eval,只是迴應響應。如果你有一個輸出緩衝區問題然後開始緩衝你喜歡呼應響應之前:

 ob_start(): 
    echo $data1; 
    ob_end_clean(); 

此外,如果你想看看你得到任何錯誤,只是這樣做:

 if(curl_exec($ch1) === false) 
    { 
    echo 'Curl error: ' . curl_error($ch1); 
    } 
    else 
    { 
    echo $data1; 
    } 

    // Close handle 
    curl_close($ch1); 
+0

也指出沒有錯誤在我的index.php是的print_r($ _ GET)和print_r的($ _ REQUEST);該請求有一個輸出,但沒有得到。也嘗試使用:http://stackoverflow.com/questions/11551599/php-use-curl-to-send-information-to-another-page但仍然無法工作 – magicianiam

+0

嘗試在您的index.php文件中使用此代替直print_r的: '回聲

 . print_r($_GET,1) . '
「;' – Dropzilla

+0

對不起它已經有一段時間,因爲我寫的PHP代碼上面的代碼會報錯,使用: '回聲」

' . print_r($_GET, 1) . '
「;' – Dropzilla

0

不能你只需要使用$_GET[]

$variables = $_GET['vars'];

+0

編輯的問題,也是我沒有,但我仍然無法得到價值 – magicianiam

相關問題