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

时间:2015-07-25 19:58:25

标签: php if-statement webforms form-submit

我是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>

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

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