Jump to content

php html email contact form problem.


woowoobear

Recommended Posts

I'm having a problem getting my contact form information  to arrive in the desired email account.

 

The email account itself if provided by my web host. It has the ability to send and receive emails.

 

The validation works perfectly eg when i type in incorrect/ miss out information it displays the appropriate error message.

 

When i put in the proper information it displays the "Thank you for contacting us. We will be in touch with you very soon" message but not email arrives in the specified email account.

 

Could someone please check over my code and see if there is something that I am missing?

 

Below are the html form and php codes.

 

<form action="send_form_email.php" method="post" >


<table width="400" border="0">


<tr>
<td width="150" valign="top">
  <label for="first_name">*First Name:-</label>
</td>
<td valign="top" align="right">
  <input  type="text" name="first_name" maxlength="50" size="37">
</td>
</tr>


<tr>
<td width="150" valign="top">
  <label for="last_name">*Last Name:-</label>
</td>
<td valign="top" align="right">
  <input  type="text" name="last_name" maxlength="50" size="37">
</td>
</tr>


<tr>
<td width="150" valign="top">
  <label for="email">*Email Address:-</label>
</td>
<td valign="top" align="right">
  <input  type="text" name="email" maxlength="50" size="37">
</td>
</tr>

<tr>
<td width="150" valign="top">
  <label for="phone">Telephone Number:-</label>
</td>
<td valign="top" align="right">
  <input  type="text" name="phone" maxlength="50" size="37">
</td>
</tr>



<tr>
<td width="150" valign="top">
  <label for="contact">Contact Time:-</label>
</td>

<td valign="top" align="right">
  <select name="contact">
  <option value="Anytime from 9am - 9pm!">Anytime from 9am - 9pm!</option>
  <option value="9am - 1pm">9am - 1pm</option>
  <option value="1pm - 2pm">1pm - 2pm</option>
  <option value="2pm - 6pm">2pm - 6pm</option>
  <option value="6pm - 9pm">6pm - 6pm</option>
  <option value="Please do not contact me by phone!">Please do not contact me by phone!</option>
  <option value="">_________________________________</option>
  </select>
</td>
</tr>


<tr>
<td width="150" valign="top">
  <label for="find">How did you hear about MPM?</label>
</td>

<td valign="top" align="right">
  <select name="find">
  <option value="Search Engine">Search Engine</option>
  <option value="Facebook Ad">Facebook Ad</option>
  <option value="Facebook Profile">Facebook Profile</option>
  <option value="Gumtree Ad">Gumtree Ad</option>
  <option value="Recommendation">Recommendation</option>
  <option value="">_________________________________</option>
  </select>
</td>
</tr>

<tr>
<td colspan="2" valign="top">
  <br>
</td>
</tr>

<tr>
<td colspan="2" valign="top">
  <label for="comments">*Enquiry:-</label>
</td>
</tr>

<tr>
<td colspan="2" valign="top">
<center>
  <textarea  name="comments" maxlength="1000" cols="47" rows="10"></textarea>
</center>
</td> 
</tr>

<tr>
<td colspan="2" valign="top">
  <br>
</td>
</tr>

<tr>
<td colspan="2" align="center" valign="top">
  * = Required Field
</td>
</tr>


<tr>
<td colspan="2" align="center" valign="top">
<input type="submit" value="  Send your enquiry!  " />
</td>
</tr>

</table>

</form>

 

<?php
if(isset($_POST['email'])) {
     
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "mrpaul@mrpaulmedia.co.uk";
    $email_subject = "New customer information:";
     
     
    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }
     
    // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['phone']) ||
        !isset($_POST['contact']) ||
        !isset($_POST['find']) ||
        !isset($_POST['comments'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');      
    }
     
    $first_name = $_POST['first_name']; // required
    $last_name = $_POST['last_name']; // required
    $email_from = $_POST['email']; // required
    $telephone = $_POST['phone']; // not required
    $contact = $_POST['contact']; // not required
    $find = $_POST['find']; // not required
    $comments = $_POST['comments']; // required
     
    $error_message = "";
   $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
  if(!eregi($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    $string_exp = "^[a-z .'-]+$";
  if(!eregi($string_exp,$first_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }
  if(!eregi($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
  }
  if(strlen($comments) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "New customer details below.\n\n";
     
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
     
    $email_message .= "First Name:   ".clean_string($first_name)."\n";
    $email_message .= "Last Name:   ".clean_string($last_name)."\n";
    $email_message .= "Email:   ".clean_string($email_from)."\n";
    $email_message .= "Telephone:   ".clean_string($telephone)."\n";
    $email_message .= "Preferred Time of Contact:   ".clean_string($contact)."\n";
    $email_message .= "How did the customer find out about Mr Paul Media?:   ".clean_string($find)."\n";
    $email_message .= "Comments:   ".clean_string($comments)."\n";
     
     
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers); 
?>

<!-- include your own success html here -->

Thank you for contacting us. We will be in touch with you very soon.

<?php
}
?>

 

 

I'd be very grateful for any help!

 

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.