Developer

【PHP基礎】定義済み変数③	$_POST
2020.12.25
Lv1

【PHP基礎】定義済み変数③ $_POST

$_POSTは、
POSTリクエストで送られたデータが格納される、
定義済み変数です。
連想配列型なので、文字列のキーで取り出します(参考: 連想配列とは)。

文字列のキーは、フォームのname属性で指定した値です。

$_POST

$_POSTの使い方を、以下のコードで示します。

サンプルコード

Form_Post.htmlのname=num1となっている入力欄に入れたデータと、
name=num2となっている入力欄に入れたデータは、
PHP側(Sample37.php)では、$_POST[“num1”]、$_POST[“num2”]で、それぞれ取得します。

フォームの画面
<html>
<header>
    <meta charset="UTF-8">
</header>
 <body>
    <form method="POST" action="Sample37.php">
        num1:<input type="text" name="num1"><br>
        num2:<input type="text" name="num2"><br>
        <input type="submit">
    </form>
</body>
</html>

フォームのデータを受け取る画面

<?php
    echo "num1 ⇒ ".$_POST["num1"]."<br>\n";
    echo "num2 ⇒ ".$_POST["num2"]."<br>\n";
?>

実行結果

num1に111、num2に222といれると、
遷移先のSample37.phpでその結果が表示されていますね。
$_GETを使った場合と違い、遷移先のSample37.phpのurlには、パラメータがありません。(参考 $_GETの場合)

実際の使用

実際の開発では、$_POSTを直接読みとりはしません。
filter_input関数を通じて読み取ります。
実行結果は上と同じです。

<html>
<header>
    <meta charset="UTF-8">
</header>
 <body>
    <form method="POST" action="Sample37_b.php">
        num1:<input type="text" name="num1"><br>
        num2:<input type="text" name="num2"><br>
        <input type="submit">
    </form>
</body>
</html>
<?php
    echo "num1 ⇒ ".filter_input(INPUT_POST,"num1")."<br>\n";
    echo "num2 ⇒ ".filter_input(INPUT_POST,"num2")."<br>\n";
?>

PHP基礎 連載目次リンク

PHP基礎 連載目次