簡體   English   中英

僅使用PHP在同一頁面上顯示表單驗證錯誤消息?

[英]Display form validation error message on same page using only PHP?

我是PHP的新手,我從這里的其他一些答案中總結了這一點。 誰能告訴我如何顯示$ errMsg? 目前,空白或不正確的名稱導致空白頁。 這是因為表單不再顯示嗎? 如果是這樣,我應該如何使用錯誤消息“重新加載”表單?

<?php
$name = "Fred";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (!empty($_POST["name"])) {

      if ($_POST["name"] == $name) {
        include("welcomeFred.php");
      }

      else {
        $errMsg = "Incorrect name";
      }

  }

  else {
    $errMsg = "Name required";
  }

}
else { ?>

  <html>
  ...
  <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    <input type="text" name="name" required>
    <span><?php echo $errMsg;?></span>
    <input type="submit" value="Submit">
  </form>
  ...
  </html>

<?php } ?>

您不應該將表單的呈現形式放在if結構的else中。 這就是提交表單時未加載表單的原因。

刪除文件末尾的else { ?><?php } ?> ,它應該可以正常工作。

暫無
暫無

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

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