我想知道在我的代码中表单出了什么问题。
<?php
if(isset($_POST['submit'])) {
$arrayName = array("TeacherA", "TeacherB", "TeacherC" , "TeacherD", "TeacherE");
$minimum = 5;
$maximum = 10;
$name = $_POST['yourName'];
$email = $_POST['yourEmail'];
if(strlen($name) < $minimum) {
echo "Your name should be longer than 5 characters";
}
if(strlen($name) > $maximum) {
echo "Your name should not be longer than 10 characters";
}
if(!in_array($name,$arrayName)){
echo "Please do register with us before you can login";
} else {
echo "Welcome!";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Blank</title>
</head>
<body>
<form action="form.php" method="post">
<label>Your Name: </label>
<input type="text" name="yourName"> <br>
<label for="">Your E mail:</label>
<input type="email" name="yourEmail" id=""><br>
<!-- <textarea name="yourMessage" id="" cols="30" rows="10"></textarea><br> -->
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
我在本地运行了代码,但是无法得到我想要的结果。
我想要的结果是,如果我没有在“Your Name”字段中输入姓名,那么应该显示结果:
请在登录前先注册
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果“Your Name”字段为空,则其
strlen($name)应为0,第一个if语句为真,并显示Your name should be longer than 5 characters你可以尝试这个:<?php if (isset($_POST['submit'])) { $arrayName = array("TeacherA", "TeacherB", "TeacherC", "TeacherD", "TeacherE"); $minimum = 5; $maximum = 10; $name = $_POST['yourName']; $email = $_POST['yourEmail']; if (empty($name)) { echo "Please do register with us before you can login"; } else { if (strlen($name) < $minimum) { echo "Your name should be longer than 5 characters"; } else { if (strlen($name) > $maximum) { echo "Your name should be less than 10 characters"; } else { if (in_array($name, $arrayName)) { echo "Welcome!"; } else { echo "Your login is not correct"; } } } } } ?>i used
empty()to test if the field empty and i used if-else statements because i want the script to stop if it founds a 'true' condition in your script you can usereturn;but that will exit the rest of your scripthave a nice code :)