Я новичок в 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>
Если я ввожу ввод в первое текстовое поле, то есть имя, он отображает пустую страницу и не отображает другие ошибки. Это ошибки, потому что другие входы не были введены. Другими словами, он показывает ошибки для каждого из входных данных до тех пор, пока не будет обнаружено истинное утверждение. После того, как какое-либо из утверждений истинно, код после этого утверждения, по-видимому, не выполняется. В основном, если встречается какое-либо истинное утверждение, код ломается и заканчивается.
Как это исправить ?
Функция test_input
не существует Вы должны написать это в первую очередь. Теперь вы вызываете несуществующую функцию, что приводит к фатальной ошибке, которая, в свою очередь, завершает ваш скрипт.
Интересно, что был другой пользователь, который также думал test_input
была встроенная функция. Это не.
Других решений пока нет …