簡體   English   中英

使用PHP顯示“所有必填字段”錯誤(默認情況下將其隱藏)

[英]Display 'all fields required' error using PHP (and hide it by default)

我想知道如何在提交表單后顯示“所有必填字段”通知,然后將其隱藏。 這是我的代碼:

if (isset($_POST['region'], $_POST['description'], $_POST['remarks']) && !empty   ($_POST['region']) && !empty($_POST['description']) && !empty($_POST['remarks']) )
{
     $region = mysql_escape_string($_POST['region']);
     $description = mysql_escape_string($_POST['description']);
     $remarks = mysql_escape_string($_POST['remarks']); 

     if (strlen($region>50)) {
         $error .= "Only 50 characters are allowed in the region field.";
     }

     else {
           if (strlen($description>500)) {
               $error .= "Only 500 characters are allowed in the region field.";
           }

           else {
              mysql_query("INSERT INTO register (region, description, remarks) VALUES(
                        '$region', 
                        '$description', 
                        '$remarks') ") or die('Not saved. ' . mysql_error()); 
           }

     }
}

else {
    $error.= "Please fill all the fields.";
}
echo $error;
?>

//form starts here

但是,即使第一次加載頁面時,使用此命令也會顯示“請填寫所有字段”(不提交輸入)。 我該怎么辦? 另外,即使嵌套的“ if”也不起作用。 這些字符串仍然可以提交:(

檢查用戶請求是POST還是GET。

只需檢查$ _POST是否設置,最容易實現。

/* ... */
else if (isset($_POST)) { 
          $error.= "Please fill all the fields.";
        }

我很確定您可以通過檢查$_SERVER['REQUEST_METHOD'] == 'POST'實現相同$_SERVER['REQUEST_METHOD'] == 'POST' ,可能會更干凈一些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM