防止使用者輸入非預期資料導致程式錯誤或資料庫拒絕,必須實施伺服器端驗證。
strlen($var):回傳字串長度,檢查最小長度。ereg($pattern, $str):正規表示式比對(PHP 5.3+ 棄用,建議改用 preg_match)。<?php
if ($submit) {
if (!$first || !$last) {
$error = "對不起,您必須填寫所有的欄目!";
} else {
echo "謝謝!"; // 處理表單
}
}
if (!$submit || $error) {
echo $error;
?>
<form method="post" action="<?php echo $PHP_SELF ?>">
第一欄: <input type="text" name="first" value="<?php echo $first ?>"><br>
第二欄: <input type="text" name="last" value="<?php echo $last ?>"><br>
<input type="submit" name="submit" value="輸入資訊">
</form>
<?php } ?>
邏輯:!$first || !$last 任一為空 → 設定錯誤訊息 → 重顯表單並保留已輸入值。
if (strlen($first) < 6 || strlen($last) < 6) {
$error = "對不起,每欄至少需 6 字元!";
}
確保密碼等敏感欄位具備最小長度。
ereg() 可驗證 Email 格式(含 @)、數字純度、郵遞區號等複雜規則,下一節將詳細示範。
驗證是資料完整性的基石,務必在資料寫入資料庫前完成。