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

投稿者: | 2016年10月22日

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

やってみたいこと

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


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)