SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Wizard tgavin's Avatar
    Join Date
    Feb 2003
    Location
    FL
    Posts
    1,051
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    can't find echo error

    I have a textarea that allows for multiple email address insertion, each address on its own line. There are two checks; address validation and duplicate checks. When each check is run on its own the info echoed is correct.
    However, when both checks are triggered the 'invalid format (bad)' check echos what appears to be blank spaces left over from email addresses that passed and were inserted.

    I've tried to unset(), among other things but can't figure out where the "problem" is happening. Again, when triggered by itself it echos fine.
    PHP Code:
    if(isset($_POST['addMultiple_x'])) {

        
    $newemails trim($_POST['emails']);
        
        if(!
    $newemails) {
            
    // textarea was left blank
            
    alert('\nIt looks like you were attempting to enter multiple test email addresses, although the text field looks empty.\n\nPlease double-check that at least one email address is entered and try again.','subs_add.php');
            exit;
        }

        
    $emails preg_split('/[\r\n]+/'$newemails);

        foreach(
    $emails as $email) {

            
    // check for duplicate email addresses
            
    if($_POST['check_dups'] == 1) {
                
    email_check($email);
                if(
    $email_check 0) {
                    
    // email address already exists!
                    
    $dup_error 1;
                    
    $dup_email[] = $email;
                    unset(
    $email);
                }
            }

            
    // check for bad email formatting / syntax.
            
    if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email)) {
                
    $bad_error 1;
                
    $bad_email[] = $email;
                unset(
    $email);
            } else {
                
    // email passed inspection, insert it
                // basic insert queries here
            
    }
        }

        
    // success/failure messages
        
    function dup_error($dup_email) {
            echo 
    "<span class=\"header\" style=\"float:center\">Duplicates Found</span><br /><strong>The following email address(es) are already in the list and were not inserted</strong><br /><br />";
            foreach(
    $dup_email as $value) {
                echo 
    $value.'<br />';
            }
        }
        
        function 
    bad_error($bad_email) {
            echo 
    "<span class=\"header\" style=\"float:center\">Invalid Format</span><br /><strong>The following email address(es) is/are invalid and were not inserted</strong><br /><br />";
            foreach(
    $bad_email as $value) {
                echo 
    $value.'<br />';
            }
        }
        if(
    $dup_error && $bad_error) {
            
    dup_error($dup_email);
            echo 
    '<br /><hr><br />';
            
    bad_error($bad_email);
            exit;
        }
        
        
    // there were duplicate addresses
        
    elseif($dup_error) {
            
    dup_error($dup_email);
            exit;
        }
        
        
    // there were some bad emails
        
    elseif($bad_error) {
            
    bad_error($bad_email);
        exit;
        
        } else {
        
    // all emails passed verification
        
    header("Location: success.php?msg=addMultiple&precount=$precount");
        exit;
        }


  2. #2
    SitePoint Wizard
    Join Date
    Mar 2001
    Posts
    3,537
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,

    I tried running the code you posted, and I got 4,500 errors. If you want some help, try posting an example that demonstrates your problem and that people can run. That means no references to $_POST[] as well as including all the required functions.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •