$_POST
は、定義済み変数のひとつで、POSTメソッドでスクリプトに送信したデータを格納した連想配列となっている。
使い方
$_POST
は、フォーム部品のname属性値がキーの連想配列なので、name属性値をキーにして呼び出す。
<input type="text" name="userName">
というフォーム部品からPOSTメソッドで送られた値を取得するには、name属性値userName
をキーにし、$_POST[userName]
で呼び出す。
$_POST
は、スーパーグローバル変数で、プログラム全体の、どのスコープでも呼び出せる。関数の内部で呼び出す場合、グローバル変数は、グローバル宣言するが、スーパーグローバル変数は、グローバル宣言すら必要ない。
サンプル
<form action="sample.php" method="POST">
<p>ユーザー名: <input type="text" name="userName"></p>
<p>コメント: <input type="text" name="comments"></p>
<p><input type="submit" value="送信"></p>
</form>
<p>ユーザー名: <input type="text" name="userName"></p>
<p>コメント: <input type="text" name="comments"></p>
<p><input type="submit" value="送信"></p>
</form>
ユーザー名に「Tarou」、コメントに「Hello」を入力し送信すると、
<?php
echo '<p>$_POST[userName]: ' . "$_POST[userName]</p>"; // name属性値「userName」のフォーム部品に入力した値「Tarou」を出力
echo '<p>$_POST[comments]: ' . "$_POST[comments]</p>"; // name属性値「comments」のフォーム部品に入力した値「Hello」を出力
?>
echo '<p>$_POST[userName]: ' . "$_POST[userName]</p>"; // name属性値「userName」のフォーム部品に入力した値「Tarou」を出力
echo '<p>$_POST[comments]: ' . "$_POST[comments]</p>"; // name属性値「comments」のフォーム部品に入力した値「Hello」を出力
?>
↓↓↓出力結果↓↓↓
$_POST[userName]: Tarou
$_POST[comments]: Hello
$_POST[comments]: Hello