Quick Job for php programmer! What am I missing?

Discussion in 'Programming' started by BizMentor, Oct 10, 2008.

  1. ansi

    ansi Well-Known Member

    Messages:
    1,483
    Likes Received:
    65
    Best Answers:
    0
    Trophy Points:
    100
    As Seller:
    100% - 0
    As Buyer:
    100% - 0
    #21
    try this
    
    <?php
    
    require('connect.php');
    
    function parse_content( $str )
    {
        global $name, $country, $email, $winning_name, $winning_email, $winning_counry;
        
        $search = array("/\{name\}/i","/\{country\}/i","/\{email\}/i","/\{winnername\}/i","/\{winneremail\}/i","/\{winnercountry\}/i");
        $replace = array($name,$country,$email,$winning_name,$winning_email,$winning_country);
        
        return( preg_replace($search, $replace, $str) );
    }
    
    $config = file_get_contents("config.txt");
    $variables = explode(";",$config);
    $numberWinners = $variables[0];
    $winnerMessage = $variables[1];
    $contestEmail = $variables[2];
    $adminEmail = $variables[3];
    $siteName = $variables[4];
    $siteURL = $variables[5];
    $contestantMessage = $variables[6];
    $contestMsgSubject =$variables[7];
    $winnerMsgSubject = $variables[8];
    $signupMsgSubject = $variables[9];
    $signupMsg = $variables[10];
    $adminmsg = $variables[11];
    $alertsub = $variables[12];
    
    $header = "FROM: Lawterry of Attraction";
    
    $sql = mysql_query("SELECT * FROM contestant ORDER BY RAND() LIMIT $numberWinners");
    while($r = mysql_fetch_assoc($sql)){
        $winning_email = $r['email'];
        $winning_id = $r['id'];
        $winning_country = $r ['country'];
        $winning_name = $r['name'];
    
        $msg = parse_content( $winnerMessage );
        $subject = parse_content( $winnerSubject );
    
        mail($winning_email,$subject,$msg,$header);
    }
    
    $msg = parse_content( $adminmsg );
    $subject = parse_content( $alertsub );
    mail($adminEmail,$subject,$msg,$header);
    
    $sql = mysql_query("SELECT * FROM contestant");
    
    while($r = mysql_fetch_assoc($sql)){
        $email = $r['email'];
        $name = $r['name'];
        $id = $r['id'];
        $country = $r['country'];
    
        $msg = parse_content( $contestantMessage );
        $subject = parse_content( $contestantMsgSubject );
    
        mail($email,$subject,$msg,$header);
    
        if(mysql_num_rows(mysql_query("SELECT * FROM email WHERE email='$email'"))==NULL){
            if(mysql_query("INSERT INTO email SET email='$emailAddr',ip='$ip',name='$name',country='$country'")){
                if(mysql_query("DELETE FROM contestant WHERE id='$id'")){
                }else{
                    mail($admin_email,"Email Address could not be deleted.","There was a problem deleting $email from the contestant database.",$header);
                }
            }
        }else{
            mysql_query("DELETE FROM contestant WHERE id='$id'");
        }
    }
    ?>
    
    PHP:

     
    ansi, Oct 10, 2008 IP
  2. BizMentor

    BizMentor Well-Known Member

    Messages:
    350
    Likes Received:
    40
    Best Answers:
    0
    Trophy Points:
    120
    As Seller:
    100% - 0
    As Buyer:
    100% - 0
    #22
    The config.txt file hosts the data - as seen in red below. the same file/data/fields used for the emails that are working...

    Can it have something to do with the sql query? It has two, and the email that is working is after the 2nd query... (sorry for my not knowing the lingo, this is new to me)

    <?php
    error_reporting(E_ALL);
    require('connect.php');

    $config = file_get_contents("config.txt");
    $variables = explode(";",$config);
    $numberWinners = $variables[0];
    $winnerMessage = $variables[1];
    $contestEmail = $variables[2];
    $adminEmail = $variables[3];
    $siteName = $variables[4];
    $siteURL = $variables[5];
    $contestantMessage = $variables[6];
    $contestMsgSubject =$variables[7];
    $winnerMsgSubject = $variables[8];
    $signupMsgSubject = $variables[9];
    $signupMsg = $variables[10];
    $adminmsg = $variables[11];
    $alertsub = $variables[12];

    $header = "FROM: Lawterry of Attraction";

    $sql = mysql_query("SELECT * FROM contestant ORDER BY RAND() LIMIT $numberWinners");
    while($r = mysql_fetch_assoc($sql)){
    $winning_email = $r['email'];
    $winning_id = $r['id'];
    $winning_country = $r ['country'];
    $winning_name = $r['name'];


    $varsearch = array("/\{name\}/i","/\{country\}/i","/\{email\}/i","/\{winnername\}/i","/\{winneremail\}/i","/\{winnercountry\}/i");
    $varreplace = array($name,$country,$email,$winning_name,$winning_email,$winning_country);
    $winnerMessage = preg_replace($varsearch,$varreplace,$winnerMessage);
    $winnerMsgSubject = preg_replace($varsearch,$varreplace,$winnerMsgSubject);

    mail($winning_email,$winnerMsgSubject,$winnerMessage,$header);
    }

    $varsearch = array("/\{name\}/i","/\{country\}/i","/\{email\}/i","/\{winnername\}/i","/\{winneremail\}/i","/\{winnercountry\}/i");

    $varreplace = array($name,$country,$email,$winning_name,$winning_email,$winning_country);
    $adminmsg = preg_replace($varsearch,$varreplace,$adminmsg);
    $alertsub = preg_replace($varsearch,$varreplace,$alertsub);


    mail($adminEmail,$alertsub,$adminmsg,$header);

    $sql = mysql_query("SELECT * FROM contestant");

    while($r = mysql_fetch_assoc($sql)){
    $email = $r['email'];
    $name = $r['name'];
    $id = $r['id'];
    $country = $r['country'];


    $varreplace = array($name,$country,$email,$winning_name,$winning_email,$winning_country);
    $contestantMessage = preg_replace($varsearch,$varreplace,$contestantMessage);
    $contestMsgSubject = preg_replace($varsearch,$varreplace,$contestMsgSubject);

    mail($email,$contestMsgSubject,$contestantMessage,$header);
    if(mysql_num_rows(mysql_query("SELECT * FROM email WHERE email='$email'"))==NULL){
    if(mysql_query("INSERT INTO email SET email='$emailAddr',ip='$ip',name='$name',country='$country'")){
    if(mysql_query("DELETE FROM contestant WHERE id='$id'")){
    }else{
    mail($admin_email,"Email Address could not be deleted.","There was a problem deleting $email from the contestant database.",$header);
    }
    }
    }else{
    mysql_query("DELETE FROM contestant WHERE id='$id'");
    }
    }
    ?>
     
    BizMentor, Oct 10, 2008 IP
  3. BizMentor

    BizMentor Well-Known Member

    Messages:
    350
    Likes Received:
    40
    Best Answers:
    0
    Trophy Points:
    120
    As Seller:
    100% - 0
    As Buyer:
    100% - 0
    #23
    ansi, i really appreciate this. truly.

    got this with error reporting on:

     
    BizMentor, Oct 10, 2008 IP
  4. ansi

    ansi Well-Known Member

    Messages:
    1,483
    Likes Received:
    65
    Best Answers:
    0
    Trophy Points:
    100
    As Seller:
    100% - 0
    As Buyer:
    100% - 0
    #24
    have you tired the last one that i sent you?

    i did notice a couple typos in it.
    
    $subject = parse_content( $contestantMsgSubject );
    
    PHP:
    and

    
    $subject = parse_content( $winnerSubject );
    
    PHP:
    need to be

    
    $subject = parse_content( $contestMsgSubject );
    
    PHP:
    and

    
    $subject = parse_content( $winnerMsgSubject );
    
    PHP:
     
    ansi, Oct 10, 2008 IP
  5. BizMentor

    BizMentor Well-Known Member

    Messages:
    350
    Likes Received:
    40
    Best Answers:
    0
    Trophy Points:
    120
    As Seller:
    100% - 0
    As Buyer:
    100% - 0
    #25
    i did ansi, without success. this is really strange.
     
    BizMentor, Oct 10, 2008 IP
  6. BizMentor

    BizMentor Well-Known Member

    Messages:
    350
    Likes Received:
    40
    Best Answers:
    0
    Trophy Points:
    120
    As Seller:
    100% - 0
    As Buyer:
    100% - 0
    #26
    Dear Ansi,
    Two days later and I've finally figured out the code! Whew! Everything is working perfectly now.
    As a token of appreciation for your efforts, I would like to pay you 1/2 of the money offered to solve the problem. Please PM me your paypal and I'll pay instantly.

    Thanks for your time, great job!
    Terry
     
    BizMentor, Oct 15, 2008 IP
    ansi likes this.