複数の「メール」入力フィールドを持つフォームがあります。それぞれがmysqlでチェックされ、データベースにあるかどうかがチェックされます。私が今持っているものは、間違った電子メールがフィールドの1つにある場合に機能し、正しいメッセージをエコーし、すべてのフィールドが空の場合も正しいメッセージをエコーします。また、最後の入力フィールドが正しい電子メールである場合も機能します。1 つの問題は、最後のフィールド以外の 1 つ以上のフィールドに正しい電子メール アドレスがあり、他に間違った電子メールがない場合、「入力なし」と表示されることです。内部にブレークを追加することでこれを修正でき{$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";}