PHP入門:GETとPOSTの違いは?フォーム送信の仕組みを基礎から理解
ここまでの章で、変数や条件分岐、関数などPHPの基本文法を学んできました。
次のステップでは、いよいよ ブラウザから送られてくるデータを受け取る 体験をしてみましょう。
フォームとPHPはどうやってつながる?
フォームに入力されたデータは、送信ボタンを押すことでサーバーへ送られます。
そしてPHPは、その送られてきた値を受け取って処理を行います。
流れとしては次のようになります。
ユーザーが入力
↓
送信ボタンを押す
↓
PHPがデータを受け取る
↓
画面に表示・保存などの処理を行う
これが、Webシステムの基本的な仕組みです。
GETとPOSTとは?
フォームからデータを送る方法には、主に GET と POST の2種類があります。
これは formタグの method という指定で決まります。
GETの特徴
GETは、送信したデータがURLに表示されます。
例:
example.com/?name=taro
そのため、
- 検索機能
- 絞り込み
- ページ移動
などによく使われます。
POSTの特徴
POSTは、データがURLに表示されません。
ログイン情報や問い合わせ内容など、外から見えないほうがよいデータの送信に使われます。
一般的なフォームでは、POSTがよく利用されます。
簡単なフォームを作ってみよう
まずは、名前を入力するだけの簡単なフォームを用意します。
|
1 2 3 4 5 |
<p>名前を入力してください。</p> <form method="post"> <input type="text" name="your_name"> <button type="submit">送信</button> </form> |
入力欄の name が、PHPで受け取るときの目印になります。
PHPでデータを受け取る方法
POSTで送られたデータは、PHPでは $_POST という特別な変数から取得できます。
|
1 |
$name = $_POST['your_name']; |
これで、フォームに入力された値が $name に入ります。
GETの場合は $_GET を使います。
受け取った値を表示してみよう
実際に表示するコードを書いてみましょう。
|
1 2 3 4 5 6 |
<?php if (!empty($_POST['your_name'])) { $name = $_POST['your_name']; echo "こんにちは、" . $name . " さん"; } ?> |
フォームに入力 → 送信すると、PHPが値を受け取り、画面に結果が表示されます。
これが ブラウザ(フロントエンド)と、PHPが動いているサーバーの連携 です。
値が送られているか確認する方法
「ちゃんと送られているか分からない…」
そんなときは、次のように書くと送信されたデータをまとめて確認できます。
|
1 2 3 4 |
<p>送信されたデータの中身:</p> <?php var_dump($_POST); ?> |
PHPで送信データを確認する(var_dump)|POST受け取りデモ
配列の形で中身が表示されるため、どんな値が渡っているかを確認できます。
デバッグの基本として、とてもよく使われます。
なぜ未入力のときは挨拶が表示されないの?
フォームを開いた直後や、何も入力せずに送信した場合、挨拶のメッセージは表示されません。
それは次の条件があるからです。
|
1 |
if (!empty($_POST['your_name'])) { |
empty() は、値が入っているかどうかを確認する仕組みです。
- 入力がある → 処理を実行
- 入力がない → 何もしない
という動きになります。
PHPは、「データがあるときだけ表示しよう」と判断しています。
もしこの条件がなければ、空の値のまま表示しようとしてしまうことがあります。
フォーム処理では、このような 存在チェック がよく使われます。
まとめ
フォームを使うことで、ユーザーの入力をPHPが受け取れるようになります。
ポイント
- フォームのデータはサーバーへ送られる
- 送信方法にはGETとPOSTがある
- PHPでは $_GET / $_POST で受け取れる
ここまで理解できると、ログイン機能や検索機能など、実際のWebシステムの仕組みがぐっと身近になります。
![MARKLEAPS[マークリープス]](https://markleaps.com/blog/wp-content/themes/mkl/images/00_logo.png)