2013-05-17 42 views
0

我已創建一個cURL php文件&將其包括到我的index.php文件中。部分代碼顯示在頁面的頂部。我不是最好的PHP編碼器,但我相信它是正確編碼的。下面是PHP文件中的代碼:cURL代碼註冊表單到Web應用程序不工作顯示頁首

<?php 

//array of data to be posted 
$post_data = array(
    'FirstName' => urlencode($firstname), 
    'LastName' => urlencode($lastname), 
    'UserIdentifier' => urlencode($regemail), 
    'Password' => urlencode($regpass), 
    'ReferrerAttribution' => '[referrer here]' 
); 
//traverse array and prepare data for posting (key1=value1) 
foreach ($post_data as $key => $value) { 
    $post_items[] = $key . '=' . $value; 
} 

//final string using implode() 
$post_string = implode ('&', $post_items); 

//create cURL connect 
$curl_connection = 
    curl_init('https://integration.[domain here].com/v1/[folder here]'); 

//set options 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($curl_connection, CURLOPT_USERAGENT, 
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); 
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($curl_connection, CURLOPT_HEADER, true); 

//set header 
$header = array (
     'POST https://integration.[domain here].com/v1/[folder here] HTTP/1.1\r\n', 
     'Content-Type: application/x-www-form-urlencoded\r\n', 
     'Authorization: Basic "[auth key here]"\r\n' 
); 
//set post data 
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string); 

//perform request 
$result = curl_exec($curl_connection); 

//show request info 
print_r(curl_getinfo($curl_connection)); 
echo curl_errno($curl_connection) . '-' . 
       curl_error($curl_connection); 

//close 
curl_close($curl_connection); 

?> 

下面是在頁面頂部的錯誤:

Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in /home/[main]/public_html/[folder]/signup.php on line 24 
    Array ([url] => https://integration.[domain].com/v1/[folder] [content_type] => text/html [http_code] => 401 [header_size] => 381 [request_size] => 285 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 2.294219 [namelookup_time] => 0.002752 [connect_time] => 0.081426 [pretransfer_time] => 0.26445 [size_upload] => 74 [size_download] => 58 [speed_download] => 25 [speed_upload] => 32 [download_content_length] => -1 [upload_content_length] => 74 [starttransfer_time] => 0.345831 [redirect_time] => 0) 0- 

的括號[]是顯示的信息,我不能公開。感謝您提前提供任何幫助。哦,這是我的第一篇文章。

回答

1

歡迎來到StackOverflow!在下面這行代碼中,您傳遞了一個未定義的無效參數$ ch。將其更改爲$ curl_connection。

那句話:

curl_setopt($ch, CURLOPT_POST, 1); 

應該是:

curl_setopt($curl_connection, CURLOPT_POST, 1); 

編輯:

也從未申請過您對您的請求中定義的頭。你應該這樣做:

curl_setopt($curl_connection, CURLOPT_HTTPHEADER, $header); 
+0

哇,我怎麼錯過了! [在額頭上打自己!] ...我還有一個問題:$ header數組似乎也在頂部顯示?不完全確定這是$頭,但似乎是。 – Aaron

+0

不是問題。畢竟,這是星期五。檢查我的編輯上面應用標題信息。可能解決你的問題。如果不是,那麼恐怕我沒有看到爲什麼會發生這種情況。 – Kevin

+0

感謝您的幫助!不幸的是,我知道得到這個錯誤: – Aaron

相關問題