电子邮件验证,使用 if else 语句将不允许它继续检查第一个 if 是否有错误?
我有:
if(isset($_POST['submit'])) {
if (empty($name)) {
echo'<span class="error">ERROR: Missing Name </span><br/>';
} else if(empty($phone) || empty($email)) {
echo'<span class="error">ERROR: You must insert a phone number or email</span><br/>';
} else if(!preg_match('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/', $email)) {
echo'<span class="error">ERROR: Please Insert a valid Email</span><br/>';
} else {
mail( "[email protected]", "Monthly Specials Email",
"Name: $name
Email: $email
Phone Number: $phone
Comment: $comment", "From: $email" );
echo'<span id="valid">Message has been sent</span><br/>';
}
}
在不使用 else if 的情况下,我还能如何检查所有这些问题? 当我使用 else if 时,它会检查第一个 if 语句,如果存在问题,它将不会继续检查该语句后面的其他 if 语句。
有什么想法吗?谢谢
I have:
if(isset($_POST['submit'])) {
if (empty($name)) {
echo'<span class="error">ERROR: Missing Name </span><br/>';
} else if(empty($phone) || empty($email)) {
echo'<span class="error">ERROR: You must insert a phone number or email</span><br/>';
} else if(!preg_match('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/', $email)) {
echo'<span class="error">ERROR: Please Insert a valid Email</span><br/>';
} else {
mail( "[email protected]", "Monthly Specials Email",
"Name: $name
Email: $email
Phone Number: $phone
Comment: $comment", "From: $email" );
echo'<span id="valid">Message has been sent</span><br/>';
}
}
How else could I check for all of those issues without using else if?
When I use else if, it checks through the first if statement, if there is an issue with it it will not continue going through the other if statements following that one.
Any ideas? Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以将所有错误收集在一个数组中,如下所示:
通过此,您可以检查所有要求并报告所有错误,而不仅仅是第一个错误。
You could collect all errors in an array like this:
With this you can check all requirements and report all errors and not just the first one.
使用:
use:
您可以使用
try
...catch
语句进行错误检查,如下所示。每当遇到应该生成错误的情况时,都可以使用
抛出新的异常
子句。you can use
try
...catch
statements for error checking like this.whenever you encounter a condition where an error should be generated, you can use
throw new Exception
clause.使用脏标志。检查所有这些并将消息附加到脏变量中。
Use a dirty flag. Check them all and append the message to the dirty variable.
试试这个:
Try this: