Thread: Sending Mail
View Single Post
Old 08-29-2009, 07:20 PM   #4 (permalink)
Randy
The Acquainted
 
Randy's Avatar
 
Join Date: May 2007
Location: Your G/F's Closet
Posts: 114
Thanks: 7
Randy is on a distinguished road
Default

Alright so i fixed the if statement to and have an else and it still doesnt seem to be working:

PHP Code:
<?php


class ContactPop {
    
/****** config *********/
       
    // the title of the emails that the form sends
    
var $emailTitle 'AppQuack Contact Form';
    
    var 
$thankYouMessage "Thank you for contacting us, we'll get back to you shortly.";
    
    
/******* end config ********/
    
    
    
var $error '';
    
    function 
getFormHtml($ajax 0) {
        
        
$postedName $_POST['name'];
        
$postedEmail $_POST['email'];
        
$postedMessage $_POST['message'];
        
        
$sendto $_POST['subject'];
        if (
$sendto == 'webquack')
        { 
$recipient 'web@appquack.com'; }
        elseif (
$sendto == 'macquack')
        { 
$recipient 'mac@appquack.com'; }
        elseif (
$sendto == 'winquack')
        { 
$recipient 'win@appquack.com'; }
        elseif (
$sendto == 'interview')
        { 
$recipient 'interview@appquack.com'; }
        elseif (
$sendto == 'general')
        { 
$recipient 'general@appquack.com'; }
        else { 
$recipient 'general@appquack.com'; }
        
        
$formHtml '';
        
        
// send congratulations message
        
if ( isset($_POST['httpReferer']) && !$this->error ) {
            
$out '<p id="contact-pop-error" class="formItem">' $this->thankYouMessage '</p>';
            
            if ( 
$ajax $out .= '<a href="#" class="close-overlay">Close</a>';
            
            return 
$out;
        }
        
        if ( 
$this->error $formHtml .= '<p id="contact-pop-error" class="formItem">' $this->error '</p>';

        
        
$httprefi $_SERVER["HTTP_REFERER"];
        
        
$cancelLink $ajax '<a href="#" class="close-overlay">Cancel</a>' '';
        
        
$formHtml .= <<<EOT
        
        <input type="hidden" name="httpReferer" value="
$httprefi" />
        
        <div class="formItem">
            <label>Pick a relevant subject:</label>
            <select class="inputText2" name="subject">
            <option class="dropdown" value="webquack">WebQuack</option>
            <option class="dropdown" value="macquack">MacQuack</option>
            <option class="dropdown" value="winquack">WinQuack</option>
            <option class="dropdown" value="interview">Interview Requests</option>
            <option class="dropdown" value="general">General Inquiry</option>
            </select>
        </div>
        
        <div class="formItem">
            <label>Name:</label>
            <input type="text" name="name" class="inputText" value="
$postedName" size="35" />
        </div>
        
        <div class="formItem">
            <label>Company:</label>
            <input type="text" name="company" class="inputText" value="
$postedCompany" size="35" />
        </div>
        
        <div class="formItem">
            <label>Email:</label>
            <input type="text" name="email" class="inputText" value="
$postedEmail" size="35" />
        </div>
        
        <div class="formItem">
            <label>Website:</label>
            <input type="text" name="website" class="inputText" value="
$postedWebsite" size="35" />
        </div>
        
        <div class="formItem">
            <label>Message:</label>
            <textarea name="message" class="textarea" rows="7" cols="38">
$postedMessage</textarea>
        </div>
        
        <div class="formItem">
            <input type="submit" value="Send Message" class="submit" />
        </div>
        
EOT;
        
        return 
$formHtml;
    }
    
    function 
checkEmail($emailAddress) {
        if (
preg_match('/[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)*\@[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)+/i'$emailAddress)){
            
$emailArray explode("@",$emailAddress);
            if (
checkdnsrr($emailArray[1])){
                return 
TRUE;
            }
        }
        return 
false;
    }
    
    function 
processForm() {
        
        
// check data
        
if ( !$_POST['name'] ) $this->error .= 'Please enter your name<br />';
        if ( !
$this->checkEmail$_POST['email'] ) ) $this->error .= 'Please enter a valid email address<br />'
        if ( !
$_POST['message'] ) $this->error .= 'Please enter a message<br />';
        
        if ( !
$this->error $this->sendFormEmail();
    }
    
    function 
sendFormEmail() {
        
$message "Name: " stripslashes($_POST['name']) . 
            
"\nEmail: " $_POST['email'] . 
            
"\n\nMessage: " stripslashes($_POST['message']);
        
        if ( 
$_POST['ajaxForm'] ) $message .= "\n\nFrom a Contact-Pop Form on page: " $_SERVER["HTTP_REFERER"];
        else 
$message .= "\n\nReferrer: " $_POST['httpReferer'];
        
        
$message .= "\n\nBrowser Info: " $_SERVER["HTTP_USER_AGENT"] .
            
"\nIP: " $_SERVER["REMOTE_ADDR"] .
            
"\n\nDate: " date("Y-m-d h:i:s");
        
        
mail($this->sendto$this->emailTitle$message'From: ' $_POST['name'] . ' <' $_POST['email'] . '>');
    }
}

$contactPop = new ContactPop();

if (isset(
$_POST['httpReferer'])) $contactPop->processForm();

// echo the ajax version of the form
if ( isset($_REQUEST['ajaxForm']) && $_REQUEST['ajaxForm']) {
    echo 
$contactPop->getFormHtml(1);
}
// or echo the full page version of the form
else {

?>
    
    <?=$contactPop->getFormHtml(); ?>

<?php 
}
?>
__________________
Real Programmers always confuse Christmas and Halloween because Oct31 == Dec25 - Andrew Rutherford
Send a message via AIM to Randy Send a message via MSN to Randy
Randy is offline  
Reply With Quote