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

PHP 表單處理基礎:接收與驗證用戶輸入

     編輯:PHP 相關知識

表單是 Web 互動的核心入口。PHP 透過超全域變數 $_GET、$_POST、$_REQUEST 輕鬆存取用戶提交的資料,但安全處理才是重中之重。

基本表單流程

<!-- HTML 表單 -->
<form action="process.php" method="post">
    <label>姓名: <input type="text" name="username"></label>
    <label>Email: <input type="email" name="email"></label>
    <button type="submit">送出</button>
</form>

PHP 接收與基本驗證

<?php
// process.php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 1. 取得並清理輸入
    $username = trim($_POST['username'] ?? '');
    $email = trim($_POST['email'] ?? '');
    
    // 2. 基本驗證
    $errors = [];
    if ($username === '') $errors[] = '姓名不可為空';
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) $errors[] = 'Email 格式錯誤';
    
    // 3. 處理結果
    if (empty($errors)) {
        // 安全處理:資料庫寫入、發送郵件等
        echo "感謝 $username 註冊!";
    } else {
        echo "錯誤: " . implode(', ', $errors);
    }
}
?>

關鍵安全原則

進階技巧

  • 陣列輸入:<input name="tags[]"> 自動轉為陣列
  • 檔案上傳:$_FILES 陣列含 tmp_name, name, size, error
  • PRG 模式:Post-Redirect-Get 防止重複提交
  • 驗證庫:敬請使用 respect/validation、Laravel Validator 等成熟方案

記住:永遠不信任任何外部輸入,輸入端過濾、處理端參數化、輸出端轉義,三重防護才安心。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
威脅防禦措施
XSS (跨站腳本)輸出時用 htmlspecialchars($str, ENT_QUOTES, 'UTF-8')
SQL 注入使用 PDO 預處理語句 $stmt->execute([$param])
CSRF (跨站請求偽造)表單加入 CSRF Token 驗證
檔案上傳攻擊驗證 MIME、副檔名、重新命名、存放非公開目錄