08-29-2009, 05:47 AM
|
#2 (permalink)
|
|
The Addict
Join Date: May 2009
Posts: 287
Thanks: 5
|
Please post your code on the post, it helps others.
PHP Code:
<?php
class ContactPop { /****** config *********/
// the title of the emails that the form sends var $emailTitle = 'MYSITE 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 == 'option1') { $recipient = 'option1@mail.com'; } elseif ($sendto == 'option2') { $recipient = 'option2@mail.com'; } elseif ($sendto == 'option3') { $recipient = 'option3@mail.com'; } elseif ($sendto == 'option4') { $recipient = 'option4@mail.com'; } elseif ($sendto == 'optoin5') { $recipient = 'option5@mail.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="option1">option1</option> <option class="dropdown" value="option2">option2</option> <option class="dropdown" value="option3">option3</option> <option class="dropdown" value="option4">option4</option> <option class="dropdown" value="option5">option5</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 } ?>
The If/Then/Else If statement contains no "else" block, so if something fails all the tests it is not modified.
|
|
|
|