現在、私はsmsgatewayに接続するプロジェクトに取り組んでいます。ユーザーがsmsをゲートウェイに送信すると、要求がサーバーにリダイレクトされます。問題は$ _GETメソッドで受信されたことです。しかし、smsプロバイダーは、彼らが$ _POSTメソッドでそれを渡していると言います。最後に受け取ったURLは次のようになります。
http://www.example.com/smstest?msg=sample&id=55788
あなたは$ _POSTの方法
現在、私はsmsgatewayに接続するプロジェクトに取り組んでいます。ユーザーがsmsをゲートウェイに送信すると、要求がサーバーにリダイレクトされます。問題は$ _GETメソッドで受信されたことです。しかし、smsプロバイダーは、彼らが$ _POSTメソッドでそれを渡していると言います。最後に受け取ったURLは次のようになります。
http://www.example.com/smstest?msg=sample&id=55788
あなたは$ _POSTの方法
HTTP Requestを実行すると、1つの動詞しか使用できません。(POST, GET, PUT, ...)ただし、
<form name="y" method="post" action"y.php?foo=bar">
を行うことができ、要求がPOST'edたが、その後PHPは、同様に$ _GET [ 'foo' を]移入します。コメント
については
HTTPリクエストがHTTPメソッドPOST
を使用して、まだクエリパラメータを含むURLを使用することができます
$_SERVER['REQUEST_METHOD']
を使用する場合、URLにパラメータを受信することが可能ですはい、そうです。すべてのHTTP要求の最初の行には、method(または動詞)と要求が行われたURIが含まれています。メソッドの選択に基づいてURIに特別な制限はありません。したがって、query stringを含むURIに対してPOST要求を行うことができます。
PHPでは、通常、クエリ文字列のパラメータには、$_GET
と$_REQUEST
で通常アクセスできます。送信されたフォームの一部として渡されたパラメータは、常に$_POST
と$_REQUEST
によってアクセス可能です。
私は$ _GETまたは$ _REQUESTパラメータを正しく使用しています。しかし、私は$ _POSTを使用します。だから私はその要求が投稿であることを保証することができます。 –
を使用することにより。 POST
は、HTTPヘッダーで使用される単なる動詞で、GET
(およびPUT
およびDELETE
)と同じです。 URLには常にクエリパラメータを含めることができ、常にリクエストボディを含めることもできます(GET
リクエストはではありません)。 PHP変数$_GET
は、単に解析されたURLクエリパラメータを表し、変数$_POST
は、解析されたリクエスト本文を単に表します。彼らは実際にはHTTP動詞とは関係がないので、やや誤った名前になります。
私は$ _GETまたは$ _REQUESTパラメータを正しく使用しています。しかし、私は$ _POSTを使用します。だから私はその要求が投稿であることを保証することができます。 –
@Rakもう一度、 '$ _GET'または' $ _POST'変数を使用すると、リクエストの種類と何も関係がありません。あなたのゲートウェイがURLクエリパラメータとして興味のある変数を送信している場合は、HTTPリクエストの種類にかかわらず、 '$ _GET'を使います。ゲートウェイがPOSTリクエストでボディを送信していない場合は、それをそのままにして、 '$ _POST'を使用しないでください。 – deceze
リクエストはPOSTですが、URLでデータを送信しています。このメソッドで機密情報を送信するのは安全ですか? –
私は$ _GETまたは$ _REQUESTパラメータを正しく使用しています。しかし、私は$ _POSTを使用します。だから私はその要求が投稿であることを保証することができます。 –
編集した回答を確認してください。 –
Ok thats works。リクエストはPOSTですが、URLでデータを送信しています。このメソッドで機密情報を送信するのは安全ですか? –