2012-04-25 6 views
3

URLを実行してその応答を得ようとしています。以下は、カールを実行するコードです。私はカールの実行が$結果の文字列を返すようにしたい。文字列形式のカールレスポンスを取得する

<?php 
$fields = array 
(
'username'=>urlencode($username), 
'pwrd'=>urlencode($pwrd), 
'customer_num'=>urlencode($customer_num) 
); 

$url = 'http://localhost/test200.php'; 
//open connection 
set_time_limit(20); 
$ch = curl_init(); 

//set the url, number of POST vars, POST data 
curl_setopt($ch,CURLOPT_URL,$url); 
curl_setopt($ch,CURLOPT_POST,count($fields)); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
//execute post 
$result = curl_exec($ch); 

//close connection 
curl_close($ch); 
echo $result; //I want $result to be "Successful" 
?> 

これは、ローカルホスト上の私のtest200.phpです:

<?php 
$usernam = $_POST['username']; 
$pass = $_POST['pwrd']; 
$customer_num = $_POST['customer_num']; 
echo "Successful!"; 
?> 

私はtest200.phpに作るのですかどのような変更?助けてください。

+0

私はそれをどうやって行うのですか? (m new here) – user1051505

答えて

0

何とかシンプルなプリント( "成功"); test200.phpの文がうまくいきました。 HTTPコード:0配列([0] => [1] =>成功)

1

データはあなたを想定し...テーブルに成功

echo "Successful!"; 

たりtest200.phpで同じことを印刷するに掲載値を挿入するなどの適切な操作を行うtest200.phpに送信されるとtest200.phpコードで挿入コードを実行しています

<?php 
$qry = "INSERT INTO `your_table` (`field_customer_name`, `field_username`, `field_password`) VALUES ($fields['customer_num'], $fields['username'], some_encrypt_fxn($fields['pwrd']))"; 
mysql_query($qry); 
$err_flag = mysql_error($your_conn_link); 
if($err_flag == '') { 
    echo "Successful!"; 
} 
else { 
    echo "Failed, Error " . $err_flag; 
} 
?> 

「成功!カールが、私は返されたステータスコードを使用してのPrateikの答えを使用することをお勧め成功を返すかどうかを確認することです

+0

コードがうまく実行されます。私はそれを確認しました。私はtest200.phpに文字列を返すだけです。返された文字列に基づいて、次のコードを実行する必要があります。 – user1051505

+0

何とかシンプルなプリント( "成功")。 test200.phpの文がうまくいきました。返信は次のようになります: HTTPコード:0 配列 ( [0] => [1] =>成功 ) – user1051505

2

あなたはカールの実行で返されたhttpcodeを使用して返される文字列に頼るべきではありません

$res = curl_exec($ch); 
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 

ここに - http://www.webmasterworld.com/forum88/12492.htm

関連する問題