0

我有一个包含多个“电子邮件”输入字段的表单。每个都在 mysql 中检查以检查其是否在数据库中。如果其中一个字段中有不正确的电子邮件,则我现在所拥有的工作是正确的消息,如果所有字段都是空的,它也会回显正确的消息。如果最后一个输入字段是正确的电子邮件,它也可以工作。一个问题是,如果一个或多个不是最后一个字段的字段中有正确的电子邮件地址,并且没有其他不正确的电子邮件,它会回显“未填写”。我可以通过在里面添加一个 break 来纠正这个问题,{$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";} 
4

1 回答 1

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 位置拥有所有三个字段结果。

于 2013-01-27T17:58:07.243 回答