2012-04-22 21 views
3

私はcURLでPOSTリクエストを送信しようとしていますが、残念ながら空の文字列しか受信しません。cURL - 空の配列でPOSTを送信

にcURL:

<?php 
echo "ID: " . $_POST["id"]; // here ID is not empty 

$fields = array(
    'id' => urlencode($_POST["id"]), 
    'name' => urlencode($_POST["name"]) 
); 

$connection = curl_init(); 
curl_setopt($connection, CURLOPT_URL, "http://www.example.de/remote.php"); 
curl_setopt ($connection, CURLOPT_POST, true); 
curl_setopt($connection, CURLOPT_POSTFIELDS, count($fields)); 
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($connection, CURLOPT_HEADER, 0); 
$response = curl_exec($connection); 
?> 

リモートサーバー:あなたはcount($fields)とだけではなく、あなたが実際にcURLのオプションを設定してどこにも行わない$fields

curl_setopt($connection, CURLOPT_POSTFIELDS, $fields); 

を使う削除する必要が

<?php 
    var_dump($_POST); // shows an empty array 
?> 
+2

実際のフィールドの代わりに 'count($ fields)'フィールドの数を 'CURLOPT_POSTFIELDS'に送りますが、これは意図的ですか? – pjumble

+0

いいえ、それは私のせいでした。 – user1170330

答えて