スーパーグローバル変数 $_REQUESTは、HTTPメソッドがGETとPOSTのいずれの場合もデータを取得することができる。
1 2 3 | $_REQUEST [ 'xxx' ] $_GET [ 'xxx' ] $_POST [ 'xxx' ] |
なお、$_REQUESTの値は、GETとPOSTのうちいずれを取得するか、その優先度は php.ini で設定される。
1 | request_order="GP" |
GはGET、PはPOSTを表す。
GPの優先度はGET→POST。PGの優先度はPOST→GETとなる。
サンプルプログラムを紹介します。
サンプルプログラム |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | < h2 >REQUST GET POST の確認</ h2 > < form action = "test102Request.php?area=test" method = "post" name = "inquiry" > < table border = "1" > < tbody >< tr > < th >関東甲信越</ th > < td > < select name = "area" > < option value = "" ></ option > < option value = "1" >栃木県</ option > < option value = "2" >群馬県</ option > < option value = "3" >埼玉県</ option > < option value = "4" >東京都</ option > < option value = "5" >神奈川県</ option > < option value = "6" >山梨県</ option > < option value = "7" >長野県</ option > < option value = "8" >新潟県</ option > </ select > </ td > </ tr > </ tbody ></ table > < button name = "operation" type = "submit" value = "send" >送信</ button > </ form > |
1 2 3 4 5 6 7 8 9 10 11 | <!--php function escape( $val ) { return htmlspecialchars( $val , ENT_QUOTES | ENT_HTML5, 'UTF-8' ); } ?--> <table border= "1" > <tbody><tr><td>REQUEST</td><td><!--=escape( $_REQUEST [ 'area' ])?--></td></tr> <tr><td>GET</td> <td><!--=escape( $_GET [ 'area' ])?--> </td></tr> <tr><td>POST</td> <td><!--=escape( $_POST [ 'area' ])?--> </td></tr> </tbody></table> |
実行結果(test102Request.html) |
実行結果(test102Request.php) |
以上