I want to validate some email addresses. The input is given by users in a textarea and the addresses are seperated by comma, like this:
email1@domain1.com, email2@domain2.com, etc. etc.
This is the script i use to check the addresses:
    $emailadressen = explode(',', $_POST['uitnodigen']);
        $aantal = count($emailadressen);
        $i = 1;
     foreach($emailadressen as $emails)
       {    
             if(check_email_address($emails) == false)    {
             $Melding['omschrijving'] = '<div class="error">Error in address number '.$i.'</div>';
             $i++;
             }
       }
And this is the function i use:
   function check_email_address($email) {
    // First, we check that there's one @ symbol, and that the lengths are right
    if (!preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email)) {
        // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
        return false;
    }
    // Split it into sections to make life easier
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
        if (!preg_match("/^(([A-Za-z0-9!#$%&'*+\/=?^_`{|}~-][A-Za-z0-9!#$%&'*+\/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$/", $local_array[$i])) {
            return false;
        }
    }
    if (!preg_match("/^\[?[0-9\.]+\]?$/", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
        $domain_array = explode(".", $email_array[1]);
        if (sizeof($domain_array) < 2) {
            return false; // Not enough parts to domain
        }
        for ($i = 0; $i < sizeof($domain_array); $i++) {
            if (!preg_match("/^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$/", $domain_array[$i])) {
                return false;
            }
        }
    }
    return true;
}
When the array only contains one emailaddress there is no problem and everything is working fine.
But when I have 2 emailaddresses at least, I get the FALSE error everytime. (Even when the emailaddresses are valid)
What do i do wrong?
 
     
     
     
    