0

http://techmentry.com/free.phpの私の PHP コード (free.php)は

<?php
{
//Variables to POST
$access_token = "b34480a685e7d638d9ee3e53cXXXXX";
$message = "hi";
$send_to = "existing_contacts";

//Initialize CURL data to send via POST to the API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://freesmsgateway.com/api_send");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
          array('access_token' => $access_token,
                'message' => urlencode('hi'),
                'send_to' => $send_to,)
          );

//Execute CURL command and return into variable $result
$result = curl_exec($ch);

//Do stuff
echo "$result";
}
?>

次のエラーが表示されます: THE MESSAGE WAS BLANK

このエラーは、「メッセージ フィールドが空白であるか、適切に URL エンコードされていませんでした」という意味です (私の SMS ゲートウェイから伝えられたように)。しかし、ご覧のとおり、私のメッセージ フィールドは空白ではありません。

4

2 に答える 2

0

配列を CURLOPT_POSTFIELDS に送信できないと思います。次の行に置き換える必要があります。

curl_setopt($ch, CURLOPT_POSTFIELDS, "access_token=".$accesstoken."&message=".urlencode('hi')."&send_to=".$send_to);

これで解決することを願っています

于 2013-07-28T11:14:25.780 に答える
0

http_build_query ()を使用します。

<?php
{
  $postdata = array();

  //Variables to POST
  $postdata['access_token'] = "b34480a685e7d638d9ee3e53cXXXXX";
  $postdata['message']      = "hi";
  $postdata['send_to']      = "existing_contacts";

  //Initialize CURL data to send via POST to the API
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, "http://freesmsgateway.com/api_send");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postdata) );

  //Execute CURL command and return into variable $result
  $result = curl_exec($ch);

  //Do stuff
  echo "$result";
}
?>
于 2013-07-29T07:58:28.690 に答える