【PHP】スーパーグローバル変数 GETとPOST編

php PHP

はじめに

数回にわけてPHPスーパーグローバル変数の記事を書いていきます。
今回は$_GET$_POSTの勉強です。

GETメソッド

データの取得を目的としたリクエストで使用します。
ブラウザのアドレス欄にURLを入力してアクセスする場合は、GETメソッドが使われています。
単なるアクセスではなく、何らかのデータを入力する際は、URLの末尾に付加して送信します。

処理のイメージ

php_get.png

サンプルプログラム

form.php

<!DOCTYPE HTML>
<html>
  <body>
    <form method="get" action="show.php">
    名前を入力してください
    <input type="text" name="name" size="20" />
    <input type="submit" value="送信" />
  </form>
  </body>
</html>

スクリーンショット 2016-11-12 12.43.04.png

show.php

<!DOCTYPE HTML>
<html>
  <body>
    こんにちわ<?php print $_GET['name']; ?>さん
  </form>
  </body>
</html>

スクリーンショット 2016-11-12 12.43.11.png

POSTメソッド

Webサーバーに送信するデータ量が多い場合にはPOSTメソッドを使用します。
POSTでは、リクエストの本体にあたるメッセージボディと呼ばれる部分にデータを格納して送信します。

サンプルプログラム

form.php

<!DOCTYPE HTML>
<html>
  <body>
    <form method="post" action="show.php">
    名前を入力してください
    <input type="text" name="name" size="20" />
    <input type="submit" value="送信" />
  </form>
  </body>
</html>

スクリーンショット 2016-11-12 12.43.04.png

show.php

<!DOCTYPE HTML>
<html>
  <body>
    こんにちわ<?php print $_POST['name']; ?>さん
  </form>
  </body>
</html>

スクリーンショット 2016-11-12 12.43.11.png

最後に

サンプルを実行するとURLが異なっていると思います。
GETで送信した時のURLは末尾に?name=テスト 太郎
POSTで送信した時は***/show.php
となっていると思います。
次回は、$_SERVER$_COOKIE の記事を書きます。