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。它不是。
我是 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。它不是。