2

フォーム変数を複数の URL に送信しようとすると、問題が発生したようです。以下のコードは、フォームから変数を取得してphpに保存し、それらの変数を特定のURLに送信しようとしています(変数は通過します。テストしました)。cUrlがそれを行う方法だと聞きましたが、その動作原因が応答コードを取得する方法に困惑しているかどうかはわかりません。

<?php

$name = $_POST['firstname'];
$email = $_POST['email'];
$src = $_POST['srcUrl'];
$ip= $_SERVER['SERVER_ADDR'];
$suDate = date('Y-m-d H:i:s');


$data = array(
"fn" => $name,
"src" => $src,
"em" => $email,
"ip" => $ip,
"signupDate" => $suDate
);


$data2 = array(
"firstname" => $name,
"email" => $email,
);

function post_to_url($url, $data) {
$fields = '';
foreach($data as $key => $value) { 
  $fields .= $key . '=' . $value . '&'; 
}
rtrim($fields, '&');

$post = curl_init();

curl_setopt($post, CURLOPT_URL, $url);
curl_setopt($post, CURLOPT_POST, count($data));
curl_setopt($post, CURLOPT_POSTFIELDS, $fields);
curl_setopt($post, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($post);

curl_close($post);
}



post_to_url("http://exampleURL.com/page.php", $data);
post_to_url("http://exampleURL2.com/cgi-bin/add.cgi", $data2);



print_r($result);


?>

どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

2

上記のコード例では、$result に探している応答が含まれています。変数の完全な詳細を表示するには、次を使用します。

print_r($result);

print_r変数のデータ型や含まれる可能性のあるデータがわからない場合に便利です。print_r変数に関する利用可能なすべての情報を提供します。

編集:curl_setopt($post, CURLOPT_POST, count($data)); CURLOPT_POSTへの変更curl_setopt($post, CURLOPT_POST, 1); も true/false オプションです ( http://php.net/manual/en/function.curl-setopt.php )。

于 2012-07-30T21:40:49.190 に答える
1

$result = curl_exec($post);データがある関数内に$resultは応答があります。return $return;そのため、関数を追加して呼び出し$response = post_to_url(...);、応答をエコーする必要があります。

于 2012-07-30T21:41:19.433 に答える