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() | 入力の形式チェックに便利な関数 |
次は、**「関数の作り方」**を学んで、コードをスッキリ整理していきましょう!