アフィリエイト広告を利用しております。
参考サイトの記載がある場合はそちらの方がより詳しく記載説明がされているのでぜひそちらもご覧ください。
そのままコピペしても反映されないものもあります。サイトごとに変えないといけない箇所がありますので修正してください。

HTML PHP

【第7回】入力はちゃんとチェックしよう!フォームのバリデーションと複数項目の処理

chatGPTに記事を書いてもらってます

前回、PHPでフォームから入力を受け取る方法を学びましたね!
でも、ユーザーが空っぽのまま送信してしまったら…?

そんなときに必要なのが「バリデーション(入力チェック)」です!
今回は、名前・メールアドレスなど複数の項目を安全に受け取る方法も一緒に学びましょう。

バリデーションとは、あるものが規定や基準に適合しているかどうか、つまり「妥当性」や「有効性」を確認するプロセスを指します。
具体的には、データ入力の検証、ソフトウェアの動作確認、医薬品製造工程の安全性確認など、様々な場面で用いられます。


フォームの例(HTML)

<form action="check.php" method="post">
  名前:<input type="text" name="username"><br>
  メール:<input type="text" name="email"><br>
  <input type="submit" value="送信">
</form>

バリデーションの基本(PHP:check.php)

<?php
$username = $_POST["username"];
$email = $_POST["email"];

// 入力チェック
if ($username === "") {
    echo "名前を入力してください。<br>";
}

if ($email === "") {
    echo "メールアドレスを入力してください。<br>";
}

// メールアドレスの形式チェック(簡易)
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "正しいメールアドレスを入力してください。<br>";
}

// 両方OKなら表示
if ($username !== "" && filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "こんにちは、" . htmlspecialchars($username) . "さん!<br>";
    echo "メールアドレス:" . htmlspecialchars($email);
}
?>

解説

キーワード 説明
$_POST["名前"] フォームの入力値を受け取る
=== "" 空文字(入力なし)のチェック
filter_var() PHPの標準関数。メールなどの形式チェックに便利
htmlspecialchars() 安全に画面に表示するための関数

複数項目の処理のコツ

複数項目をチェックするときは、**「1項目ずつチェック → すべてOKなら次へ」**という流れが基本です。

また、エラーが出たときは、ユーザーにわかりやすいメッセージを返すことも大切です。


バリデーションしないとどうなる?

  • 空のまま送られる
  • 文字化けやエラーが起きる
  • 悪意のある入力でセキュリティが危険!

必ずバリデーションは入れましょう!


まとめ

用語 意味
バリデーション 入力内容のチェック
空チェック 入力されていないかどうか調べる
形式チェック メールなど、正しい形になっているか調べる
filter_var() 入力の形式チェックに便利な関数

次は、**「関数の作り方」**を学んで、コードをスッキリ整理していきましょう!

おすすめ記事

1
制作理由 ワードプレスのクラシックエディタを直接使っているといつも思うことがありました [Tab]キー押して空白入れて見やすくインデントしたい! この記事を書くまでは入れないか、スペースキーを押して誤 ...
2
制作理由 ワードプレスのクラシックエディタを直接使っているといつも思うことがありました コード追加ボタンを自由に追加出来たら便利じゃない? この記事を書くまでは、クリップボード貼り付けアプリ[Clib ...
3
アプリ制作するに至った理由 納品代行の仕事をしていて思ったことがあります 納品代行をしていると本当に様々なお客様から様々な商品が届きます その中でも特に注意しているのが、「見た目ほぼ同じだけど違う商品 ...

-HTML, PHP
-