●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

PHPのフォームバリデーションとは?安全な入力処理の基本

フォームバリデーションとは、ユーザーが入力したデータが適切かどうかを確認する処理のことです。
入力ミスの防止だけでなく、セキュリティ対策としても非常に重要です。

よく使うバリデーション項目

  • 未入力チェック(必須)
  • 形式チェック(メールアドレス、電話番号など)
  • 文字数チェック(最小・最大)
  • 数値チェック、範囲チェック
  • 一致確認(パスワードと確認欄など)

基本的な構造

HTMLのフォームからPOSTされたデータに対して、PHPでチェックを行います。

HTMLフォーム例:

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

PHP側のバリデーション:

<?php
$errors = [];

if ($_SERVER["REQUEST_METHOD"] === "POST") {
  // 名前:未入力チェック
  if (empty($_POST["name"])) {
    $errors[] = "名前を入力してください。";
  }

  // メール:形式チェック
  if (empty($_POST["email"])) {
    $errors[] = "メールアドレスを入力してください。";
  } elseif (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
    $errors[] = "メールアドレスの形式が正しくありません。";
  }

  // 結果表示
  if (empty($errors)) {
    echo "バリデーション成功!";
  } else {
    foreach ($errors as $error) {
      echo "<p>" . htmlspecialchars($error) . "</p>";
    }
  }
}
?>

チェック関数の例

function validate_length($str, $min, $max) {
  $len = mb_strlen($str);
  return ($len >= $min && $len <= $max);
}

filter_input()を使ったバリデーション

filter_input() を使えば、より安全に入力値の検証ができます。

$email = filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL);
if (!$email) {
  $errors[] = "正しいメールアドレスを入力してください。";
}

まとめ

  • フォームバリデーションは入力ミス防止とセキュリティ強化に必須
  • empty()filter_var() を活用する
  • HTMLエスケープ(htmlspecialchars())も忘れずに
  • サーバー側とクライアント側の両方でバリデーションを行うのが理想

ユーザーにとって使いやすく、安全なフォームを作るために、バリデーションはとても重要な役割を担います。
複雑な処理になる場合は、関数やクラスに分けて整理するとメンテナンス性も向上します。

 

PHP関連用語集

−−−−−  PHP  −−−−−

PHPの変数とは?基本構文と使い方をわかりやすく解説

PHPの配列とは?複数のデータをまとめて扱う基本構文

PHPの連想配列とは?名前付きのキーでデータを管理する方法

PHPのクラスとは?オブジェクト指向プログラミングの基本を解説

PHPのオブジェクトとは?クラスから作る実体の使い方を解説

PHPのメソッドとは?クラス内の関数の定義と使い方を解説

PHPのプロパティとは?クラスに値を持たせる仕組みを解説

PHPのコンストラクタとは?オブジェクト生成時の初期化処理を解説

PHPの継承とは?クラスを引き継いで再利用する仕組みを解説

PHPのインターフェースとは?クラス設計を柔軟にする仕組みを解説

PHPのトレイト(trait)とは?コードの再利用を実現する仕組みを解説

PHPの名前空間(Namespace)とは?クラスや関数の重複を防ぐ仕組みを解説

PHPのグローバル変数とは?スコープと使い方をわかりやすく解説

PHPのスーパグローバル変数とは?フォーム・セッション処理に欠かせない基本知識

PHPの$_GETとは?URLパラメータを取得する基本と使い方

PHPの$_POSTとは?フォームからのデータを安全に受け取る方法

PHPの$_SESSIONとは?ユーザー情報を一時的に保持する仕組みを解説

PHPの$_COOKIEとは?ユーザー情報をブラウザに保存・取得する方法

PHPの$_SERVERとは?サーバーやリクエスト情報を取得する便利な変数

PHPのincludeとは?外部ファイルを読み込んでコードを分割・再利用

PHPのrequireとは?外部ファイルを確実に読み込むための構文

PHPのエラーハンドリングとは?エラーの種類と対処法をわかりやすく解説

PHPの例外処理(Exception)とは?try-catchで安全なコードを書く方法

PHPのPDO(PHP Data Objects)とは?安全で柔軟なデータベース接続方法

SQLインジェクションとは?Webアプリの重大な脆弱性とその対策

PHPのフォームバリデーションとは?安全な入力処理の基本

PHPのheader()関数とは?HTTPヘッダーを操作する基本と活用法

PHPのJSONエンコード / デコードとは?配列やオブジェクトをJSON形式で扱う方法

HTTPレスポンスコードとは?PHPでステータスを正しく返す方法

Laravel(ララベル)とは?PHPで人気No.1のWebアプリケーションフレームワーク