Php 如何获取筛选器\验证\电子邮件返回的错误
我目前在php工作。我当前的表单应该为电子邮件模板生成一些条件。它有“收件人”、“抄送”和“密件抄送”字段。我当前的“To”代码运行良好。然后我想一次验证多封电子邮件。例如,如果有人进入example@example.com, test@test.com等我想让它检查每一个。出于某种原因,它抛出了一个错误。下面是我目前的php。我想知道是否有办法知道错误是什么。有什么想法或建议吗Php 如何获取筛选器\验证\电子邮件返回的错误,php,arrays,validation,email,filter,Php,Arrays,Validation,Email,Filter,我目前在php工作。我当前的表单应该为电子邮件模板生成一些条件。它有“收件人”、“抄送”和“密件抄送”字段。我当前的“To”代码运行良好。然后我想一次验证多封电子邮件。例如,如果有人进入example@example.com, test@test.com等我想让它检查每一个。出于某种原因,它抛出了一个错误。下面是我目前的php。我想知道是否有办法知道错误是什么。有什么想法或建议吗 $errTo = $_POST['To']; $errCC = $_POST['CC']; $errBCC = $_
$errTo = $_POST['To'];
$errCC = $_POST['CC'];
$errBCC = $_POST['BCC'];
function died()
{
$error = false;
return $error;
}
我在这里遇到了问题
if($_POST['submit'] == 'Submit')
{
if(filter_var($errTo, FILTER_VALIDATE_EMAIL))
{
if(isset($errCC))
{
$errCC = explode(",", $errCC);
$count = count($errCC);
for($i=0; $i<$count; ++$i)
{
$errCC[$i] = str_replace(" ", "",$errCC[$i]);
echo $errCC[$i];
if(!filter_var($errCC[$i], FILTER_VALIDATE_EMAIL))
{
$error = died();
}
}
}
if($\u POST['submit']=='submit')
{
if(过滤变量($errTo,过滤验证电子邮件))
{
如果(isset($errCC))
{
$errCC=explode(“,”,$errCC);
$count=计数($errCC);
对于($i=0;$i此函数在失败时将始终返回false,因此您需要自己处理原因。原因始终是它不是有效的电子邮件地址。它不会告诉您此电子邮件缺少@符号
$errors = array();
if($_POST['submit'] == 'Submit')
{
// Check the to field and add it to the error array if its wrong
if(!filter_var($errTo, FILTER_VALIDATE_EMAIL))
{
$errors[] = $errTo;
}
if(isset($errCC))
{
$errCC = explode(",", $errCC);
$count = count($errCC);
for($i=0; $i<$count; ++$i)
{
$errCC[$i] = str_replace(" ", "",$errCC[$i]);
echo $errCC[$i];
if(!filter_var($errCC[$i], FILTER_VALIDATE_EMAIL))
{
// Add to our array the invalid emails
$errors[] = $errCC[$i];
}
}
}
// Check if we have any invalid emails
if(count($errors))
{
// Display each email, remember to strip out 'badness' if you are outputting user variable to the browser
foreach($errors as $err)
{
echo strip_tags($err) . " is not an email address<br />";
}
}
}
$errors=array();
如果($_POST['submit']=='submit')
{
//检查“收件人”字段,如果错误,则将其添加到错误数组中
如果(!filter\u var($errTo,filter\u VALIDATE\u EMAIL))
{
$errors[]=$errTo;
}
如果(isset($errCC))
{
$errCC=explode(“,”,$errCC);
$count=计数($errCC);
对于($i=0;$i)没有返回错误。如果不是电子邮件地址或我理解的电子邮件地址,则返回false,或者返回false。我想问的是,是否有方法返回失败原因的解释。例如,在mysql查询中,可以使用代码:$result=mysql\u query($query)或die(“查询中的错误:$query.”.mysql_Error());它总是失败,原因相同:传递的值不是有效的电子邮件地址。