【发布时间】:2013-11-16 10:07:53
【问题描述】:
好的,我想要实现的是一个非常简单的表单验证,如下所示。
- 姓名:[必填,最小长度:2,最大长度:255]
- 电子邮件:[必填,最小长度:3,最大长度:255,有效的电子邮件格式]
- 出生日期:[可选,格式:dd/mm/yyyy]
但是,一旦我点击提交(无论字段为空还是填充),我都会在空白页面上显示所有回显的错误。
“姓名必须至少为 2 个字符姓名必须至少为 3 个字符无效的电子邮件电子邮件不能留空”
到目前为止我的代码:
index.php
<form method="post" action="confirm.php">
Name:<input type="text" name="name" />
email:<input type="text" name="email" />
DOB:<input type="date" name="dob" />
<input type="submit" value="submit" />
</form>
和
确认.php
<?php
$name = $_POST['$name'];
$email = $_POST['$email'];
$dob = $_POST['$dob'];
$namelen = strlen($email);
$emaillen = strlen($email);
$max = 255;
$minname = 2;
$minemail = 3;
if($namelen<$minname){
echo"name must be at least 2 characters";
}
elseif($namelen>$max){
echo"name must be less than 255 characters";
}
if(empty($name)){
echo"name is required";
}
else{
continue;
}
if($emaillen<$minemail){
echo"email must be at least 3 characters";
}
elseif($emaillen>$max){
echo"email must be less than 255 characters";
}
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
continue;
}
else{
echo"invalid email";
}
if(empty($email)){
echo"email cannot be left empty";
}
else{
continue;
}
?>
非常感谢您的帮助,谢谢。
【问题讨论】:
-
在检查了第一个和第二个错误之后,你还没有写任何东西让它停止。
-
你想用这些
continue;语句达到什么目的? -
转发问题。
-
如果该字段为空,则回显“something”,否则继续。
-
检查第一个和第二个错误后如何让它停止?
标签: php validation