PHP 表格只需要检查一个条目

PHP Form required checking only one entry

我是 PHP 的新手,这是我检查表单中所有输入的代码:

<html>
<body>

<?php
$name = $email = $password = $confirmpassword = $number = "";
$error= false;

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    echo"Name is required<br>";
    $error=true;
  } else {
    $name = test_input($_POST["name"]);
  }

  if (empty($_POST["password"])) {
    echo "Password is required<br>";
    $error=true;
  } else {
    $password = test_input($_POST["password"]);
  }

  if (empty($_POST["email"])) {
    echo "Email is required<br>";
    $error=true;
  } else {
    $email = test_input($_POST["email"]);
  }

  if (empty($_POST["confirmpassword"])) {
    echo "Confirm Password is required<br>";
    $error=true;
  } else {
    $confirmpassword = test_input($_POST["confirmpassword"]);
  }

    if (empty($_POST["number"])) {
    echo "Number is required<br>";
    $error=true;
  } else {
    $number = test_input($_POST["number"]);
  }

  if(strcmp($password,$confirmpassword)!=0)
  {
    echo "Password do not match<br>";
    $error=true;
  }

  if(!$error)
  {

  }
}
?>

</body>
</html>

如果我在第一个文本框中输入一个输入,即名称,它会显示一个空白页面并且不会显示其他错误。那是错误,因为尚未输入其他输入。因此,换句话说,它会显示每个输入的错误,直到并且除非检测到一个 true 语句,在任何语句为 true 之后,该语句之后的代码似乎不会执行。基本上,如果遇到任何 true 语句,代码就会中断并结束。

我该如何解决这个问题?

函数test_input不存在。你必须先写它。现在您正在调用一个不存在的函数,这会导致致命错误,进而结束您的脚本。

有趣的是,还有一位用户 also thought test_input was a built-in function。它不是。