PHP | GETまたはPOSTかどうか判別する方法

PHP 判別・判定,PHP

PHP | GETまたはPOSTかどうか判別する方法

PHPでフォームからリクエストされたパラメータがGET送信なのかPOST送信なのかどうか判別する方法と、そのサンプルコードを紹介しています。

フォームからの送信であっても、GETまたはPOSTどちらかしか送信されないという訳ではないので、どちらかというと「POSTで送信されたパラメータがあるかどうか」という確認をする場合に利用できます。

GETまたはPOSTかどうか判別する

PHPでフォームからリクエストされたパラメータがGET送信、またはPOST送信なのかどうかを調べる方法と判別のサンプルコードになります。

送信されたリクエストパラメータの種類を調べるには$_SERVER['REQUEST_METHOD']が利用可能です。

$_SERVER['REQUEST_METHOD']は送信されているデータがGET送信ならば「GET」、POST送信ならば「POST」が代入されます。

フォームからの送信やパラメータ付きURLでのアクセスではなくても、$_SERVER['REQUEST_METHOD']はデフォルト値で「GET」となっている事に注意が必要です。

$_SERVER['REQUEST_METHOD']

以下は送信されたパラメータの種類をGETまたはPOSTで判別するサンプルコードになります。

if ($_SERVER['REQUEST_METHOD'] == 'GET') {
	// GET送信されたリクエストパラメータです
} elseif($_SERVER['REQUEST_METHOD'] == 'POST') {
	// POST送信されたリクエストパラメータです
}

POST送信のフォームでの送信先URL(actionパラメータ)にGETパラメータを付ける場合もあるためGETとPOSTは混合する事も少なくありません。

個人的には「POSTで送信されたパラメータがあるかどうか」という使い方で利用する場合はあるという程度です。