理解「If isset $_POST」問題
使用HTML 表單和PHP 時,檢查是否已設定表單輸入使用isset(>使用HTML 表單和PHP 時,檢查是否已設定表單輸入使用isset(一個函數完成。但是,在某些情況下,即使表單欄位為空,它也可能會傳回正結果。這可能會導致程式碼中出現意外行為。
問題
在提供的範例中,始終設定名為「mail」的表單輸入,無論它是否包含資料。這是因為大多數表單輸入在提交表單時都會自動設置,即使它們留空也是如此。
解決方案
要解決此問題,您需要檢查輸入是否存在及其是否為空。這可以使用 !empty() 函數來實現。
修正的程式碼:
<?php if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; } ?>
在此程式碼中,!empty() 函式檢查 $_POST["mail" 是否] 變數為空。如果不為空,則表示輸入欄位已包含資料並已設定。否則,會傳回 false,表示輸入未設定。
以上是為什麼「isset($_POST)」對於空表單輸入回傳 True?的詳細內容。更多資訊請關注PHP中文網其他相關文章!