08-29-2009, 07:20 PM
|
#4 (permalink)
|
|
The Acquainted
Join Date: May 2007
Location: Your G/F's Closet
Posts: 114
Thanks: 7
|
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
|
|
|