Jump to content

Contact Page


beemo

Recommended Posts

I am new to php and I've got a query for all you professionals, I have this script which is meant to send emails to me but what I want to do is instead of redirecting the user(s) to a different page to display the results I would like for it to show the success message or fail message on the same page as the form. I hope I am making my self clear. I would like to know if you could tell me how to implement it.
index.html:

<!DOCTYPE html>

<html>
<head>
    <title></title>
</head>

<body>
    <form action="send_form_email.php" id="contactform" method="post" name=
    "contactform">
        <table width="450px">
            <tr>
                <td valign="top"><label for="title">Title *</label></td>

                <td valign="top"><input maxlength="50" name="title" size="30"
                type="text"></td>
            </tr>

            <tr>
                <td></td>
            </tr>

            <tr>
                <td valign="top"><label for="fname">First Name *</label></td>

                <td valign="top"><input maxlength="50" name="fname" size="30"
                type="text"></td>
            </tr>

            <tr>
                <td></td>
            </tr>

            <tr>
                <td valign="top"><label for="mname">Middle Name</label></td>

                <td valign="top"><input maxlength="50" name="mname" size="30"
                type="text"></td>
            </tr>

            <tr>
                <td valign="top"><label for="lname">Last Name *</label></td>

                <td valign="top"><input maxlength="50" name="lname" size="30"
                type="text"></td>
            </tr>

            <tr>
                <td valign="top"><label for="suffix">Suffix</label></td>

                <td valign="top"><input maxlength="80" name="suffix" size="30"
                type="text"></td>
            </tr>

            <tr>
                <td valign="top"><label for="message">Message *</label></td>

                <td valign="top">
                <textarea cols="25" maxlength="1000" name="message" rows="6">
</textarea></td>
            </tr>

            <tr>
                <td></td>
            </tr>

            <tr>
                <td valign="top"><label for="email">Email Address
                *</label></td>

                <td valign="top"><input maxlength="80" name="email" size="30"
                type="text"></td>
            </tr>

            <tr>
                <td colspan="2" style="text-align:center"><input type="submit"
                value="Submit"></td>
            </tr>
        </table>
    </form>
</body>
</html>

send_form_email.php:

<?php
if(isset($_POST['email'])) {
     
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "test@gmail.com";
    $email_subject = "Your email subject line";
     
     
    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['title']) ||
        !isset($_POST['fname']) ||
                !isset($_POST['mname']) ||
                !isset($_POST['lname']) ||
        !isset($_POST['suffix']) ||
        !isset($_POST['message']) ||
        !isset($_POST['email'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');      
    }
     
    $title_name = $_POST['title']; // required
        $first_name = $_POST['fname']; // required
        $middle_name = $_POST['mname'];
    $last_name = $_POST['lname']; // required
        $suffix_name = $_POST['suffix'];
        $message = $_POST['message']; // required
    $email_from = $_POST['email']; // required
     
    $error_message = "";  
   $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$title_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }
  if(!preg_match($string_exp,$first_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }
  if(!preg_match($string_exp,$middle_name)) {
    $error_message .= 'The Middle Name you entered does not appear to be valid.<br />';
  }
  if(!preg_match($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
  }
  if(!preg_match($string_exp,$suffix_name)) {
    $error_message .= 'The Suffix Name you entered does not appear to be valid.<br />';
  }
  if(strlen($message) < 2) {
    $error_message .= 'The Message you entered do not appear to be valid.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
   $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    $email_message = "Form details below.\n\n";
     
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
    $email_message .= "Title Name: ".clean_string($title_name)."\n";
    $email_message .= "First Name: ".clean_string($first_name)."\n";
        $email_message .= "Middle Name: ".clean_string($middle_name)."\n";
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
        $email_message .= "Last Name: ".clean_string($suffix_name)."\n";
        $email_message .= "Comments: ".clean_string($message)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\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 -->
 
<center>Thank you for contacting us. We will be in touch with you very soon.</center>
 
<?php
}
?>

If you're confused about anything please let me know.

 
Edited by beemo
Link to comment
Share on other sites

all you have done here is to dump your existing code on the forum and state what you want. it is really beyond the scope of what a forum can do to provide you with all the information you would need to know to make or convert your code to use ajax. you are at the point of needing to research and learn the basics of what you want (research and learning is something you do), not at the point of having a coding problem with some code you wrote (what help forums are best at doing.)

 

i would recommend that you search the Internet for "php ajax mail form" (add jquery to that search if you want to limit the results to using the jquery library) and work through a tutorial or two, then if you are having specific problems with your code after you attempt this, post back on the forum to get directed help with a specific problem with your ajax based code.

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.