6-8 PHPでフォームデータを受け取って表示する

Web開発学習ロードマップ

ここまでで、
PHPの基本文法・条件分岐・繰り返し・配列を学んできました。

しかし、
「PHPがWebとつながっている実感」が
まだ薄いと感じているかもしれません。

その感覚を一気に変えるのが、
フォームデータの受け取り です。

・ユーザーが入力する
・PHPがその値を受け取る
・結果を画面に表示する

この記事では、
HTMLフォームとPHPを実際につなげる最初の一歩
を、コード付きで解説します。


この記事で学べること

・HTMLフォームの基本構造
・PHPでフォームデータを受け取る仕組み
・$_POST / $_GET の役割
・受け取った値を表示する流れ


フォーム送信の全体像

まず、
フォーム送信の流れを整理します。

  1. ユーザーがフォームに入力

  2. 送信ボタンを押す

  3. ブラウザがサーバーにデータを送信

  4. PHPがデータを受け取る

  5. 結果を画面に表示

PHPは、
4 と 5 を担当 します。


HTMLフォームの基本構造

まずは、
最もシンプルなフォームを作ります。

サンプルコード①:入力フォーム(HTML)

<form method="post" action="result.php">
  <label>
    名前:
    <input type="text" name="username">
  </label>
  <br>
  <button type="submit">送信</button>
</form>

HTML側のポイント

・method=”post”
 → データの送信方法
・name=”username”
 → PHP側で受け取るときの名前
・action=”result.php”
 → 送信先のPHPファイル

この name 属性 が非常に重要です。


PHPでフォームデータを受け取る

次に、
送信先のPHPファイルを作ります。

サンプルコード②:フォームデータを受け取る(PHP)

<?php
$username = $_POST['username'];

echo 'こんにちは、' . $username . 'さん';

コードの解説

・$_POST
 → POST送信されたデータが入る配列
・[‘username’]
 → フォームの name 属性と一致
・$username に値を代入

これで、
フォームに入力された内容を
PHPで扱えるようになります。


$_POST は配列である

ここで重要なポイントです。

$_POST は、

・連想配列
・キーが name 属性
・値が入力内容

という構造になっています。

つまり、
これまで学んだ 配列の知識
ここでそのまま使われます。


GET送信の場合の違い

フォームには、
もうひとつの送信方法があります。

サンプルコード③:GET送信のフォーム

<form method="get" action="result.php">
  <label>
    キーワード:
    <input type="text" name="keyword">
  </label>
  <button type="submit">検索</button>
</form>

GET送信の特徴

・URLにデータが表示される
・ブックマークできる
・検索などに向いている

PHP側では、
$_GET を使って受け取ります。


サンプルコード④:GETデータの受け取り

<?php
$keyword = $_GET['keyword'];

echo '検索キーワード:' . $keyword;

POSTとGETの使い分け

使い分けの目安です。

・POST
 → フォーム送信、登録、ログイン
・GET
 → 検索、ページ切り替え

基本的に、

「データを送る」= POST
「条件を渡す」= GET

と覚えておくと安全です。


フォーム送信で必ず注意すべきこと

初心者が必ず通る注意点です。

・未送信時にエラーが出る
・値が存在しない場合がある

そのため、
実務では必ず
「値があるかどうか」
をチェックします。


値が存在するかを確認する考え方

サンプルコード⑤:存在チェックの例

<?php
if (isset($_POST['username'])) {
  $username = $_POST['username'];
  echo 'こんにちは、' . $username . 'さん';
} else {
  echo '名前が送信されていません';
}

このように、
受け取る前に確認する
という意識が重要です。


フォーム処理はPHP学習の分岐点

フォーム処理が理解できると、

・画面とサーバーがつながる
・Webアプリの実感が出る
・次の学習に進める

という大きな変化があります。

ここは、
焦らず何度も動かして
確認してみてください。


よくあるミス

フォーム処理で多いミスです。

・name 属性の指定忘れ
・$_POST / $_GET の使い間違い
・送信前に値を参照している

「どこから値が来ているか」
を常に意識しましょう。


まとめ

PHPでフォームデータを受け取るには、

・HTMLの name 属性
・$_POST / $_GET
・配列として扱う

この3点が理解できていれば十分です。

ここまで来ると、
PHPは「ただの文法」ではなく
Webと連動する言語 になります。


次に読むべき記事

▶ 次の記事
6-9 PHPのバリデーションとは何か

▶ 関連記事
3-7 HTMLフォーム送信の仕組み(GET / POST)
6-7 PHPで配列を扱う基本

コメント