我有一个包含多个“电子邮件”输入字段的表单。每个都在mysql中检查以检查它是否在数据库中。我现在的工作原理是,如果一个字段中有错误的电子邮件,则回显正确的消息,如果所有字段都为空,它也会回显正确的消息。如果最后一个输入字段是正确的电子邮件,它也可以。一个问题是,如果一个或多个字段中的正确电子邮件地址不是最后一个,并且没有其他不正确的电子邮件,则会回显“未填写”。我可以通过在{$x = "1"}
内添加一个中断来解决这个问题,但随后它会搞乱mysql检查,因为它需要继续,直到/如果条件不满足。有什么我可以做的吗?
foreach($_POST as $value)
{
if(empty($value))
{
$x = "0";
} else
if(!empty($value))
{
$usercheck = "SELECT email FROM users WHERE email = '$value'";
$usercheck = $db->query($usercheck);
if($usercheck->num_rows > 0)
{
$x="1";
} else
{
$x="2"; break;
}
}
}
if($x == "0") {echo "none filled in";}
if($x == "1") {echo "all good";}
if($x == "2") {echo $value." is not a user";}
答案 0 :(得分:0)
$i=1;
foreach($_POST as $value)
{
if(empty($value))
{
$x = "0";
} else
if(!empty($value))
{
$usercheck = "SELECT email FROM users WHERE email = '$value'";
$usercheck = $db->query($usercheck);
if($usercheck->num_rows > 0)
{
$x="1";
} else
{
$x="2";
}
}
$field[$i]=$x;
$i++;
}
现在,您在$field
数组中的所有三个字段结果分别位于第1,第2和第3位。