首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 表單驗證:檢測必填欄位是否為空並顯示錯誤訊息

     編輯:PHP 綜合知識

前言

伺服器端驗證是防止空值、惡意輸入的第一道防線。本文示範基本必填欄位檢查與錯誤顯示。

HTML 表單

<form method="POST" action="ErrorCheck.php">
<h1>Contact Information</h1>
<label>Nickname:</label> <input type="text" name="nickname"><br>
<label>Title:</label> <input type="text" name="title"><br>
<input type="submit" value="Submit">
<input type="reset" value="Clear">
</form>

PHP 驗證 ErrorCheck.php

<?php
$errors = [];

// trim() 移除首尾空白字元(空格、Tab、換行、NUL 等)
if (!trim($_POST['nickname'] ?? '')) {
    $errors[] = "<b>Nickname</b> 為必填欄位。";
}
if (!trim($_POST['title'] ?? '')) {
    $errors[] = "<b>Title</b> 為必填欄位。";
}

if ($errors) {
    echo "<div style='color:red'>";
    echo "<h3>發現錯誤:</h3><ul>";
    foreach ($errors as $err) echo "<li>$err</li>";
    echo "</ul><p>請點擊瀏覽器「上一頁」返回修正。</p>";
    echo "</div>";
} else {
    echo "表單通過驗證,進行後續處理...";
}
?>

trim() 移除的字元

" "  (ASCII 32)  空格
"\t" (ASCII 9)   Tab
"\n" (ASCII 10)  換行
"\r" (ASCII 13)  歸位
"\0" (ASCII 0)   NUL
"\v" (ASCII 11)  垂直 Tab

進階驗證建議

  • 長度檢查:mb_strlen() 限制最小/最大長度。
  • 格式驗證:Email 使用 filter_var($email, FILTER_VALIDATE_EMAIL),手機號用正則。
  • CSRF 防護:表單加入 <input type="hidden" name="csrf_token" value="">。
  • 統一驗證庫:專案建議使用 Respect\Validation、Laravel Validator、Symfony Validator 等成熟庫。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved