Php 使用if-else语句的电子邮件验证不允许它继续检查第一个if是否存在错误?
我有:Php 使用if-else语句的电子邮件验证不允许它继续检查第一个if是否存在错误?,php,email-validation,Php,Email Validation,我有: if(isset($\u POST['submit'])){ if(空($name)){ echo“错误:缺少名称”; }else if(空($phone)| |空($email)){ echo“错误:您必须插入电话号码或电子邮件”; }如果(!preg_match('/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}/',$email)){ echo“错误:请插入有效电子邮件”; }否则{ 邮件(“anEmail@hotmail.com“,”每月特价邮件“,
if(isset($\u POST['submit'])){
if(空($name)){
echo“错误:缺少名称
”;
}else if(空($phone)| |空($email)){
echo“错误:您必须插入电话号码或电子邮件
”;
}如果(!preg_match('/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}/',$email)){
echo“错误:请插入有效电子邮件
”;
}否则{
邮件(“anEmail@hotmail.com“,”每月特价邮件“,
“姓名:$Name
电子邮件:$Email
电话号码:$Phone
评论:$Comment“,$From:$email”);
回显“消息已发送
”;
}
}
如果不使用else if,我如何检查所有这些问题?
当我使用elseif时,它检查第一个if语句,如果有问题,它将不会继续检查该语句后面的其他if语句
有什么想法吗?谢谢您可以使用
try
..catch
语句进行这样的错误检查。
每当遇到应该生成错误的情况时,可以使用
抛出新异常
子句。可以使用try
…catch
语句进行如下错误检查。
每当遇到应该生成错误的情况时,可以使用
抛出新异常
子句。使用脏标志。全部选中并将消息附加到脏变量。使用脏标志。全部选中并将消息附加到脏变量。使用:
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( "anEmail@hotmail.com", "Monthly Specials Email",
"Name: $name
Email: $email
Phone Number: $phone
Comment: $comment", "From: $email" );
echo'<span id="valid">Message has been sent</span><br/>';
}
}
使用:
您可以像这样收集数组中的所有错误:
$error = 0;
if(empty($var1)){ $error = 1; }
if(empty($var2)){ $error = 1; }
if(empty($var3)){ $error = 1; }
if(empty($var4)){ $error = 1; }
if(empty($var5)){ $error = 1; }
if($error > 0)
{
// Do actions for your errors
}
else
{
// Send Email
}
if(isset($\u POST['submit'])){
$errors=array();
if(空($name)){
$errors[]=“错误:缺少名称
”;
}
如果(空($phone)| |空($email)){
$errors[]=“错误:您必须插入电话号码或电子邮件
”;
}
如果(!preg_match('/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}/',$email)){
$errors[]=“错误:请插入有效的电子邮件
”;
}
如果($errors){
echo“有一些错误:”;
回声“- ”,内爆(“
- ”,$errors),“
”;
}否则{
邮件(“anEmail@hotmail.com“,”每月特价邮件“,
“名称:$Name\n”。
“电子邮件:$Email\n”。
“电话号码:$Phone\n”。
“评论:$Comment”,“发件人:$email”);
回显“消息已发送
”;
}
}
使用此功能,您可以检查所有需求并报告所有错误,而不仅仅是第一个错误。您可以在如下数组中收集所有错误:
$error = 0;
if(empty($var1)){ $error = 1; }
if(empty($var2)){ $error = 1; }
if(empty($var3)){ $error = 1; }
if(empty($var4)){ $error = 1; }
if(empty($var5)){ $error = 1; }
if($error > 0)
{
// Do actions for your errors
}
else
{
// Send Email
}
if(isset($\u POST['submit'])){
$errors=array();
if(空($name)){
$errors[]=“错误:缺少名称
”;
}
如果(空($phone)| |空($email)){
$errors[]=“错误:您必须插入电话号码或电子邮件
”;
}
如果(!preg_match('/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}/',$email)){
$errors[]=“错误:请插入有效的电子邮件
”;
}
如果($errors){
echo“有一些错误:”;
回声“- ”,内爆(“
- ”,$errors),“
”;
}否则{
邮件(“anEmail@hotmail.com“,”每月特价邮件“,
“名称:$Name\n”。
“电子邮件:$Email\n”。
“电话号码:$Phone\n”。
“评论:$Comment”,“发件人:$email”);
回显“消息已发送
”;
}
}
有了它,您可以检查所有需求并报告所有错误,而不仅仅是第一个错误。尝试以下方法:
if (isset($_POST['submit'])) {
$errors = array();
if (empty($name)) {
$errors[] = '<span class="error">ERROR: Missing Name </span><br/>';
}
if (empty($phone) || empty($email)) {
$errors[] = '<span class="error">ERROR: You must insert a phone number or email</span><br/>';
}
if (!preg_match('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/', $email)) {
$errors[] = '<span class="error">ERROR: Please Insert a valid Email</span><br/>';
}
if ($errors) {
echo 'There were some errors: ';
echo '<ul><li>', implode('</li><li>', $errors), '</li></ul>';
} else {
mail( "anEmail@hotmail.com", "Monthly Specials Email",
"Name: $name\n".
"Email: $email\n".
"Phone Number: $phone\n".
"Comment: $comment", "From: $email");
echo'<span id="valid">Message has been sent</span><br/>';
}
}
if(isset($\u POST['submit'])){
$errors=array();
if(空($name)){
$errors[]=“缺少名称”;
}
如果(空($phone)| |空($email)){
$errors[]=“您必须插入电话号码或电子邮件”;
}
如果(!preg_match('/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}/',$email)){
$errors[]=“请插入有效电子邮件”;
}
如果(!empty($errors)){
对于($i=0;i ',$errors[$i]);
}
}否则{
邮件(“anEmail@hotmail.com“,”每月特价邮件“,
“姓名:$Name
电子邮件:$Email
电话号码:$Phone
评论:$Comment“,$From:$email”);
回显“消息已发送
”;
}
}
试试这个:
if (isset($_POST['submit'])) {
$errors = array();
if (empty($name)) {
$errors[] = '<span class="error">ERROR: Missing Name </span><br/>';
}
if (empty($phone) || empty($email)) {
$errors[] = '<span class="error">ERROR: You must insert a phone number or email</span><br/>';
}
if (!preg_match('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/', $email)) {
$errors[] = '<span class="error">ERROR: Please Insert a valid Email</span><br/>';
}
if ($errors) {
echo 'There were some errors: ';
echo '<ul><li>', implode('</li><li>', $errors), '</li></ul>';
} else {
mail( "anEmail@hotmail.com", "Monthly Specials Email",
"Name: $name\n".
"Email: $email\n".
"Phone Number: $phone\n".
"Comment: $comment", "From: $email");
echo'<span id="valid">Message has been sent</span><br/>';
}
}
if(isset($\u POST['submit'])){
$errors=array();
if(空($name)){
$errors[]=“缺少名称”;
}
如果(空($phone)| |空($email)){
$errors[]=“您必须插入电话号码或电子邮件”;
}
如果(!preg_match('/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}/',$email)){
$errors[]=“请插入有效电子邮件”;
}
如果(!empty($errors)){
对于($i=0;i ',$errors[$i]);
}
}否则{
邮件(“anEmail@hotmail.com“,”每月特价邮件“,
“姓名:$Name
电子邮件:$Email
电话号码:$Phone
评论:$Comment“,$From:$email”);
回显“消息已发送
”;
}
}
if(isset($\u POST['submit'])){
$valid=true;
if(空($name)){
echo“错误:缺少名称
”;
$valid=false;
}
如果(空($phone)| |空($email)){
echo“错误:您必须插入电话号码或电子邮件
”;
$valid=false;
}
如果(!preg_match('/[A-Z0-9.\%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}/',$email)){
echo“错误:请插入有效电子邮件
”;
$valid=FALSE;
}
如果($有效){
邮件(“anEmail@hotmail.com“,”每月特价邮件