Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取筛选器\验证\电子邮件返回的错误_Php_Arrays_Validation_Email_Filter - Fatal编程技术网

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 = $_

我目前在php工作。我当前的表单应该为电子邮件模板生成一些条件。它有“收件人”、“抄送”和“密件抄送”字段。我当前的“To”代码运行良好。然后我想一次验证多封电子邮件。例如,如果有人进入example@example.com, test@test.com等我想让它检查每一个。出于某种原因,它抛出了一个错误。下面是我目前的php。我想知道是否有办法知道错误是什么。有什么想法或建议吗

$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());它总是失败,原因相同:传递的值不是有效的电子邮件地址。