0

Help! This contact form keeps displaying the error for an invalid email address, no matter what I do! Where did I go wrong?

Thanks in advance!

PHP Syntax

<table width="570px" border="0" cellspacing="10px" cellpadding="0" align="center">
  <tr>
    <td align="center">

<?php 
if (isset($_POST["op"]) && ($_POST["op"]=="send")) { 

/******** START OF CONFIG SECTION *******/
  $sendto  = "mail@mail.com";
  $subject = "Website Contact";
// Select if you want to check form for standard spam text
  $SpamCheck = "Y"; // Y or N
  $SpamReplaceText = "*content removed*";
// Error message printed if spam form attack found
$SpamErrorMessage = "<p align=\"center\"><font color=\"red\">Malicious code content detected.
</font><br><b>Your IP Number of <b>".getenv("REMOTE_ADDR")."</b> has been logged.</b></p>";
/******** END OF CONFIG SECTION *******/
 
  $indivor = $HTTP_POST_VARS['indivor'];
  $reques = $HTTP_POST_VARS['reques'];
  $relat = $HTTP_POST_VARS['relat'];
  $ship = $HTTP_POST_VARS['ship']; 
  $email = $HTTP_POST_VARS['email']; 
  $phone = $HTTP_POST_VARS['phone'];
  $inreq = $HTTP_POST_VARS['inreq'];
  $message = $HTTP_POST_VARS['message']; 
  $headers = "From: $email\n";
  $headers . "MIME-Version: 1.0\n"
		   . "Content-Transfer-Encoding: 7bit\n"
		   . "Content-type: text/html;  charset = \"iso-8859-1\";\n\n";
if ($SpamCheck == "Y") {		   
// Check for Website URL's in the form input boxes as if we block website URLs from the form,
// then this will stop the spammers wasting time sending emails
if (preg_match("/http/i", "$indivor")) {echo "$SpamErrorMessage"; exit();} 
if (preg_match("/http/i", "$reques")) {echo "$SpamErrorMessage"; exit();} 
if (preg_match("/http/i", "$relat")) {echo "$SpamErrorMessage"; exit();} 
if (preg_match("/http/i", "$ship")) {echo "$SpamErrorMessage"; exit();} 
if (preg_match("/http/i", "$email")) {echo "$SpamErrorMessage"; exit();}
if (preg_match("/http/i", "$phone")) {echo "$SpamErrorMessage"; exit();} 
if (preg_match("/http/i", "$inreq")) {echo "$SpamErrorMessage"; exit();} 
if (preg_match("/http/i", "$message")) {echo "$SpamErrorMessage"; exit();} 

// Pattern match search to strip out the invalid characters, this prevents the mail injection spammer 
  $pattern = '/(;|\||`|>|<|&|^|"|'."\n|\r|'".'|{|}|[|]|\)|\()/i'; // build the pattern match string 
                            
  $indivor= preg_replace($pattern, "", $indivor);
  $reques= preg_replace($pattern, "", $reques); 
  $relat = preg_replace($pattern, "", $relat); 
  $ship = preg_replace($pattern, "", $ship); 
  $email = preg_replace($pattern, "", $email); 
  $phone = preg_replace($pattern, "", $phone);
  $inreq = preg_replace($pattern, "", $inreq);
  $message = preg_replace($pattern, "", $message); 

// Check for the injected headers from the spammer attempt 
// This will replace the injection attempt text with the string you have set in the above config section
  $find = array("/bcc\:/i","/Content\-Type\:/i","/cc\:/i","/to\:/i"); 
  $email = preg_replace($find, "$SpamReplaceText", $email); 
  $indivor = preg_replace($find, "$SpamReplaceText", $indivor); 
  $reques = preg_replace($find, "$SpamReplaceText", $reques); 
  $relat = preg_replace($find, "$SpamReplaceText", $relat);
  $ship = preg_replace($find, "$SpamReplaceText", $ship);
  $phone = preg_replace($find, "$SpamReplaceText", $phone); 
  $inreq = preg_replace($find, "$SpamReplaceText", $inreq); 
  $message = preg_replace($find, "$SpamReplaceText", $message); 
  
// Check to see if the fields contain any content we want to ban
 if(stristr($indivor, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
 if(stristr($reques, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
 if(stristr($relat, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
 if(stristr($ship, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
 if(stristr($phone, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
 if(stristr($inreq, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();}
 if(stristr($message, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
 
 // Do a check on the send email and subject text
 if(stristr($sendto, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
 if(stristr($subject, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();} 
}
// Build the email body text
  $emailcontent = " 
----------------------------------------------------------------------------- 
  Website Contact
----------------------------------------------------------------------------- 

For an Individual? Or a Group? $indivor
Requested By: $reques
Relationship to child or group: $relat
Address to ship instrument: $ship 
Phone Number: $phone 
Email: $email 
Instrument(s) Requested: $inreq 
Other Information: $message 

_______________________________________ 
End of Email 
"; 
// Check that the email address entered matches the standard email address format
 if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
  echo "<p>ERROR! It appears you entered an invalid email address.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

 elseif (!trim($indivor)) { 
  echo "<p>ERROR! Please go back and enter if you are an Individual or a Group.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

 elseif (!trim($reques)) { 
  echo "<p>ERROR! Please go back and enter Requested By.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

 elseif (!trim($relat)) { 
  echo "<p>ERROR! Please go back and enter Relationship To.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

 elseif (!trim($ship)) { 
  echo "<p>ERROR! Please go back and enter Address To Ship.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

 elseif (!trim($email)) { 
  echo "<p>ERROR! Please go back and enter an Email address.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

 elseif (!trim($phone)) { 
  echo "<p>ERROR! Please go back and enter a Phone Number.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

 elseif (!trim($inreq)) { 
  echo "<p>ERROR! Please go back and fill in the Instrument Request field.</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>"; 
} 

// Sends out the email or will output the error message 
 elseif (mail($sendto, $subject, $emailcontent, $headers)) { 
  echo "<br><br><p><b>Thank You $name</b></p><p>We will be in touch as soon as possible.</p>"; 

} 
} 
else { 
?> 

<p align="left">Musical Instrument Request Form
<br /><br />
NOTE: If Individual child request, please provide music teacher name and contact information in your message.
<br /><br />
Please complete all the information and we will get back to you shortly.</p>
<br>
<form method="post"><INPUT NAME="op" TYPE="hidden" VALUE="send"> 
  <table> 
    <tr> 
      <td><p>For an Individual? Or a Group?</p></td> 
      <td> 
        <input name="indivor" type="text" size="30" maxlength="25"> 
      </td> 
    </tr>

    <tr> 
      <td><p>Requested By:</p></td> 
      <td> 
        <input name="reques" type="text" size="30" maxlength="150"> 
      </td> 
    </tr> 
	
    <tr> 
      <td><p>Relationship to child or group:</p></td> 
      <td> 
        <input name="relat" type="text" size="30" maxlength="150"> 
      </td> 
    </tr>
	
    <tr> 
      <td><p>Address to ship instrument:</p></td> 
      <td> 
        <input name="ship" type="text" size="30" maxlength="300"> 
      </td> 
    </tr> 
	
    <tr> 
      <td><p>Phone Number:</p></td> 
      <td> 
        <input name="phone" type="text" size="30" maxlength="150"> 
      </td> 
    </tr> 
	
    <tr> 
      <td><p>E-mail:</p></td> 
      <td> 
        <input name="email" type="text" size="30" maxlength="150"> 
      </td> 
    </tr> 
	
    <tr> 
      <td><p>Instrument(s) Requested:</p></td> 
      <td> 
        <input name="inreq" type="text" size="30" maxlength="150"> 
      </td> 
    </tr> 
	
    <tr> 
      <td valign="top"><p>Other Information:</p></td> 
      <td><textarea name="message" cols="40" rows="6"></textarea></td> 
    </tr> 
    <tr><td></td> <td><input name="submit" type="submit" value="Send Message"></td></tr> 
  </table> 
</form> 
<?php } ?>

  </td>
  </tr>
</table>
2
Contributors
2
Replies
3
Views
6 Years
Discussion Span
Last Post by design324095
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.