1

現在、私はsmsgatewayに接続するプロジェクトに取り組んでいます。ユーザーがSMSをゲートウェイに送信すると、サーバーにリクエストがリダイレクトされます。問題は、それらが$_GETメソッドで受信されることです。しかし、SMSプロバイダーは$_POSTメソッドでそれを渡していると言っています。最後に受け取ったURLは次のようになります。

http://www.example.com/smstest?msg=sample&id=55788

$ _POSTメソッドを使用するときにURLでパラメーターを受け取ることは可能ですか?

4

3 に答える 3

2

はい、そうです。すべてのHTTPリクエストの最初の行には、リクエストが行われるメソッド(または動詞)とURIが含まれています。メソッドの選択に基づいてURIに特別な制限が課されることはないため、クエリ文字列を含むURIに対してPOST要求が行われる場合があります。

$_GETPHPから、通常はとを介してクエリ文字列のパラメータにアクセスできます$_REQUEST。送信されたフォームの一部として渡されたパラメータには、いつものようにとを介してアクセスでき$_POSTます$_REQUEST

于 2011-12-08T05:24:32.923 に答える
2

HTTPリクエストは、HTTPメソッド POSTを使用しても、クエリパラメータを含むURLを使用できます。(および)とPOST同じ、HTTPヘッダーで使用される単なる「動詞」です。URLには常にクエリパラメータを含めることができ、リクエスト本文も常に含めることができます(ただし、リクエストには含めるべきではありません)。PHP変数は、解析されたURLクエリパラメータを表すだけであり、変数は、解析されたリクエストの本文を表すだけです。これらは実際にはHTTP動詞とは何の関係もないため、名前が多少間違っています。GETPUTDELETEGET$_GET$_POST

于 2011-12-08T05:26:41.290 に答える
1

HTTPリクエストを実行するときは、動詞(POST、GET、PUT、...)を1つだけ持つことができます。しかし、あなたはすることができます

<form name="y" method="post" action"y.php?foo=bar">

リクエストはPOSTされましたが、PHPは$_GET['foo']にもデータを入力します。

コメントのために

を使用して

$_SERVER['REQUEST_METHOD']
于 2011-12-08T05:25:36.517 に答える