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

PHP 表單必填字段驗證與錯誤提示實戰

     編輯:PHP 入門

PHP 表單必填字段驗證與錯誤提示實戰

表單驗證是 Web 開發核心技能。本文演示如何實現服務端必填檢查並在表單旁顯示錯誤訊息。

驗證規則定義

字段規則
名字必填,僅字母與空格
Email必填,合法郵箱格式
網址選填,若填需合法 URL
備註選填,多行文本
性別必填,單選

PHP 後端處理邏輯

<?php
// 初始化變量
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 名字驗證
    if (empty($_POST["name"])) {
        $nameErr = "名字是必需的";
    } else {
        $name = test_input($_POST["name"]);
    }
    // Email 驗證
    if (empty($_POST["email"])) {
        $emailErr = "郵箱是必需的";
    } else {
        $email = test_input($_POST["email"]);
    }
    // 網址(選填)
    if (empty($_POST["website"])) {
        $website = "";
    } else {
        $website = test_input($_POST["website"]);
    }
    // 備註(選填)
    if (empty($_POST["comment"])) {
        $comment = "";
    } else {
        $comment = test_input($_POST["comment"]);
    }
    // 性別驗證
    if (empty($_POST["gender"])) {
        $genderErr = "性別是必需的";
    } else {
        $gender = test_input($_POST["gender"]);
    }
}

// 通用清理函數
function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}
?>

HTML 表單與錯誤顯示

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    名字: <input type="text" name="name">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>

    E-mail: <input type="text" name="email">
    <span class="error">* <?php echo $emailErr;?></span>
    <br><br>

    網址: <input type="text" name="website">
    <span class="error"><?php echo $websiteErr;?></span>
    <br><br>

    備注: <textarea name="comment" rows="5" cols="40"></textarea>
    <br><br>

    性別: <input type="radio" name="gender" value="female">女
    <input type="radio" name="gender" value="male">男
    <span class="error">* <?php echo $genderErr;?></span>
    <br><br>

    <input type="submit" name="submit" value="Submit">
</form>

關鍵安全點

  • 使用 htmlspecialchars($_SERVER["PHP_SELF"]) 防止 XSS 攻擊
  • test_input() 三步清理:去首尾空白、去反斜杠、HTML 實體轉義
  • 錯誤訊息僅在提交後顯示,不干擾初次載入體驗
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved