揭開謎底:為什麼「isset($_POST)」總是回傳True,即使表單為空
處理表單提交時,通常依賴isset() 函數來檢查是否已提供特定欄位值。但是,您可能會遇到令人困惑的情況,即 isset($_POST["field_name"]) 的計算結果始終為 true,即使提交表單中的相應欄位留空也是如此。
追蹤難題:了解表單輸入行為
罪魁禍首在於表單輸入的本質。預設情況下,大多數表單輸入始終被視為“設定”,無論使用者是否提供了任何值。這是因為它們會自動填充空字串值。
缺少的部分:合併空值檢查
要解決此問題,您必須補充 isset() 檢查進行空檢查。實現此目的的一種方法是使用 empty() 函數。
使用空值檢查重寫程式碼:
if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }
說明:
結論:
透過在程式碼中加入空值來檢查,可以準確判斷表單欄位是否已賦值,解決「isset($_POST)」對於空白欄位總是回傳true 的問題。
以上是為什麼對於空表單 `isset($_POST)` 總是回傳 True?的詳細內容。更多資訊請關注PHP中文網其他相關文章!