PHPやってみる!

(5) GETとPOSTを自動判別して取得

3,158 views

この記事は最終更新から 3221日 が経過しています。

やってみたいこと

HTTPプロトコルでのデータ転送方式には GETと POSTがあります。
PHPでは、それぞれの受信データを環境変数 $_GETと $_POSTに分けて格納しています。
従って、PHPプログラムでWEBブラウザから送信された引数を受け取るときには、どちらの方式でデータが送られたかを見て、参照する変数 $_GET / $_POSTを見分ける必要があります。

これを見分けるためには、環境変数 $_SERVER[“REQUEST_METHOD”] を参照します。

プログラム作成

<!DOCTYPE html>
<HTML>
<HEAD></HEAD>
</BODY>

<?php
// GET or POSTを判別して引数を取得
$method = get_received_parameter( $data );

// 通信方式及び取得したデータを表示
if($data !== NULL){
  echo "method : $method <br />";
  print_r( $data );
}

//////////////////////////////////////////////////////
function get_received_parameter( &$data ){
  if($_SERVER["REQUEST_METHOD"] == "POST"){
    $data = $_POST;
    $ret = "POST";
  }
  elseif($_SERVER['REQUEST_METHOD'] == "GET"){
    $data = $_GET;
    $ret = "GET";
  }
  else{
    $data = NULL;
    $ret = "";
  }
  return $ret;
}
?>

</BODY>
</HTML>

 
実行サンプルはこちらです。
http://www.dogrow.net/php/sample/00005/?name=Anne&birthday=1987/6/5


アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済
  • 2026-06-28: 0回
  • 2026-06-27: 1回
  • 2026-06-26: 5回
  • 2026-06-25: 0回
  • 2026-06-24: 0回
  • 2026-06-23: 10回
  • 2026-06-22: 0回
  • モバイルバージョンを終了