2013-08-01 3 views
0

현재 PHP로 작업 중입니다. 현재 양식은 이메일 템플릿에 대한 몇 가지 기준을 생성해야합니다. 받는 사람, 참조 및 숨은 참조 필드가 있습니다. "To"에 대한 현재 코드가 정상적으로 작동합니다. 그런 다음 한 번에 여러 이메일을 확인하려고했습니다. 예를 들어, 누군가 [email protected], [email protected] 등으로 입력 한 경우 각각을 검사해야합니다. 어떤 이유로 그것은 오류를 던지고있다. 아래는 내 현재 PHP입니다. 오류가 무엇인지 알 수있는 방법이 있는지 알고 싶었습니다. 어떤 생각이나 제안?FILTER_VALIDATE_EMAIL이 (가) 오류를 반환하는 방법

$errTo = $_POST['To']; 
$errCC = $_POST['CC']; 
$errBCC = $_POST['BCC']; 
function died() 
{ 
$error = false; 
return $error; 
} 

난 당신이 때문에 이유를 직접 처리 할 필요가,이 기능은 항상 실패시 false를 돌려줍니다 여기

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(); 
      } 
     } 
    } 
+0

오류가 반환되지 않습니다. 전자 메일 주소가 아니거나 전자 메일 주소가 아닌 경우 false를 반환합니다. – Anigel

+0

false를 반환하거나 전자 메일을 반환하는 것으로 알고 있습니다. 제가 왜 부탁하는 것은 그것이 실패한 이유에 대한 설명을 되돌릴 수있는 방법이 있는지 아닌지에 있습니다. 예를 들어, mysql 쿼리에서 코드를 사용할 수 있습니다 : $ result = mysql_query ($ query) 또는 die ("Query in Error : $ query.".mysql_error()); –

+1

동일한 이유로 항상 실패합니다. 전달 된 값이 유효한 전자 메일 주소가 아닙니다. – ironcito

답변

0

내 문제로 실행합니다. 그 이유는 항상 유효한 이메일 주소가 아닙니다. This email is missing a @ symbol을 알려주지 않습니다.

$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 />"; 
     } 
    } 
} 
관련 문제