I believe that I am having a similar issue. I am trying to add more fields but I cannot seem to do it quite right. I am trying to add 4 more fields (one for Address, City, State and Zip).
Here is the modified form processor:
<?php
// Define some constants
define( "RECIPIENT_NAME", "John Doe" );
define( "RECIPIENT_EMAIL", "johndoe@johndoe.com" );
define( "EMAIL_SUBJECT", "Visitor Message" );
// Read the form values
$success = false;
$senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
$senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
$senderAddress = isset( $_POST['senderAddress'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderAddress'] ) : "";
$senderCity = isset( $_POST['senderCity'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderCity'] ) : "";
$senderState = isset( $_POST['senderState'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderState'] ) : "";
$senderZip = isset( $_POST['senderZip'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderZip'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
// If all values exist, send the email
if ( $senderName && $senderEmail && $senderAddress && $senderCity && $senderState && $senderZip && $message ) {
$recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
$headers = "From: " . $senderName . " <" . $senderEmail . ">";
$success = mail( EMAIL_SUBJECT, $recipient, $senderEmail, $senderAddress, $senderCity, $senderState, $senderZip, $message, $headers );
}
// Return an appropriate response to the browser
if ( isset($_GET["ajax"]) ) {
echo $success ? "success" : "error";
} else {
?>
<html>
<head>
<title>Thanks!</title>
</head>
<body>
<?php if ( $success ) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
<?php if ( !$success ) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
<p>Click your browser's Back button to return to the page.</p>
</body>
</html>
<?php
}
?>
And for the form:
<form id="contactForm" action="index_new_email1_process_form.php" method="post">
<h2>Send us an email...</h2>
<ul>
<li>
<label for="senderName">Name <span class="req">*</span></label>
<input type="text" name="senderName" id="senderName" placeholder="Please type your name" required="required" maxlength="40" />
</li>
<li>
<label for="senderEmail">Email Address <span class="req">*</span></label>
<input type="email" name="senderEmail" id="senderEmail" placeholder="Please type your email address" required="required" maxlength="50" />
</li>
<li>
<label for="senderAddress">Address</label>
<input type="text" name="senderAddress" id="senderAddress" placeholder="Please type your address" maxlength="50" />
</li>
<li>
<label for="senderCity">City</label>
<input type="text" name="senderCity" id="senderCity" placeholder="Please type your City" maxlength="50" />
</li>
<li>
<label for="senderState">State</label>
<input type="text" name="senderState" id="senderState" placeholder="Please type your State" maxlength="50" />
</li>
<li>
<label for="senderZip">Zip</label>
<input type="text" name="senderZip" id="senderZip" placeholder="Please type your Zip" maxlength="50" />
</li>
<li>
<label for="message" style="padding-top: .5em;">Message <span class="req">*</span></label>
<textarea name="message" id="message" placeholder="Please type your message" required="required" cols="80" rows="10" maxlength="10000"></textarea>
</li>
<li>
Items marked <span class="req">*</span> are required.
</li>
</ul>
<div id="formButtons">
<input type="submit" id="sendMessage" name="sendMessage" value="Send Email" />
<input type="button" id="cancel" name="cancel" value="Cancel" />
</div>
</form>
It was working just fine before I attempted to add those new fields. Now it will only display the
There was a problem sending your message. Please try again message.
Thanks in advance for your help!
[Edited by modad on 08-Aug-11 11:11]