0

こんにちは皆さん、ここに私のフォーム設定があります:

<form class="form" id="getstat" name="getstat" method="post" action="stat101.php" />
<pre>Enter the Message ID and hit the submit button:</pre>
<!-- <input type="text" name="msgid" /> -->
<textarea name="msgids" id="msgid" wrap="physical" cols="40" rows="10"></textarea><br 
/>
<input type="submit" name="submit" value="Check Status">
</form>

私の stat101.php は次のようになります。

$user="101";
$pass="xxx";
extract($_POST);
$ids=$_POST['msgid'];
$url="http://url.com";

$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: 
application/json'));
curl_setopt($c, CURLOPT_URL, "$url".$user.'/'.$pass.'
/VALUEOFIDS');
$content = curl_exec($c);
curl_close($c);
print_r($content);

上記のコードは、「VALUEOFIDS」をハードコーディングすると機能しますが、フォームの入力「msgid」から投稿して機能させる方法がわかりません。エミュレートする必要がある JSON 形式の応答を含む URL は、http: //url.com/ {key}/{secret}/{msgid} です。正しいコードを取得するのに苦労しています。

エミュレートする必要があるのは: curl -H "Accept: application/json" https://api.url.com/server/search/ $1/$2/$3

bash で実行すると、問題なく動作します。

前もって感謝します!

4

1 に答える 1

0

入力とテキストエリアは、名前をキーとして$_POST配列に値を渡します。コード例では、名前ではなくIDを使用して、リクエストから値をフェッチしています。以下を使用してみてください。

// trim whitespace and carriage returns made possible by the textarea.
$ids = trim($_POST['msgids']); 

...

curl_setopt($c, CURLOPT_URL, "$url".$user.'/'.$pass.'/'.$ids);
于 2012-05-19T04:45:58.753 に答える