【PHP】スーパーグローバル変数 $_GET $_POST $_REQUEST


スーパーグローバル変数 $_REQUESTは、HTTPメソッドがGETとPOSTのいずれの場合もデータを取得することができる。

PHPコード
1
2
3
$_REQUEST['xxx']
$_GET['xxx']
$_POST['xxx']


なお、$_REQUESTの値は、GETとPOSTのうちいずれを取得するか、その優先度は php.ini で設定される。

php.ini
1
request_order="GP"

GはGET、PはPOSTを表す。
GPの優先度はGET→POST。PGの優先度はPOST→GETとなる。

サンプルプログラムを紹介します。
サンプルプログラム
test102Request.html
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>
test102Request.php
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)

以上

最新

【PHP】スーパーグローバル変数 $_GET $_POST $_REQUEST

スーパーグローバル変数 $_REQUESTは、HTTPメソッドがGETとPOSTのいずれの場合もデータを取得することができる。 $_REQUEST['xxx'] $_GET['xxx'] $_POST['xxx'] ...