PHP script to send email from contact us form with jQuery Bootstrap validation

PHP script to send email from contact us form with jQuery Bootstrap validation

In this PHP Tutorial, I will let you know how to send email from contact us form with jQuery Bootstrap validation.

There are number of websites around the internet and you will see that they will have a contact form.

When any visitors visit the website then they can send their suggestion or feedback through the contact us form. When it is filled out, then a automatic email is sent to admin.

In this example, I will use mail() function of PHP to send information to specific email address on contact us form submission.

Please make sure, Mail function will work only on a web server that support the functionality of mail sending.

If you are working on localhost then you need to open php_openssl PHP extension first then search for "SMTP" in the php.ini file and configure the parameters of SMTP properly, Otherwise it will not work on localhost.

This example will show you how to implement jQuery form validation with Bootstrap framework.

Contact Us Form (index.php)

First I will design a contact us HTML form with the help of Bootstrap, so create a file "index.php" and place the below code in it.

<!DOCTYPE html>
<html>
<head>
    <title>PHP MySQL contact us form with validation using Bootstrap</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>
</head>
<body>


<div class="container">
    <h3>PHP MySQL contact us form with validation using Bootstrap</h3>
    <form action="process.php" method="POST" id="contactusForm">
        <div class="form-group">
            <label class="control-label">Name:</label>
            <input type="text" name="name" class="form-control">
        </div>
        <div class="form-group">
            <label class="control-label">Phone:</label>
            <input type="text" name="phone" class="form-control">
        </div>
        <div class="form-group">
            <label class="control-label">Email:</label>
            <input type="email" name="email" class="form-control">
        </div>
        <div class="form-group">
            <label class="control-label">Subject:</label>
            <input type="text" name="subject" class="form-control">
        </div>
        <div class="form-group">
            <label class="control-label">Message:</label>
            <textarea class="form-control" name="message"></textarea>
        </div>
        <div class="form-group">
            <button class="btn btn-success" type="submit">Submit</button>
        </div>
    </form>
</div>

<script>
  $(document).ready(function() {
      $("#contactusForm").validate( {
        rules: {
          name: "required",
          phone: "required",
         
          email: {
            required: true,
            email: true
          },
          subject: "required",
          message: "required"

        },
        messages: {
          name: "Please enter your name",
          phone: "Please enter your phone number",         
          email: "Please enter a valid email address",
          subject: "Please enter your subject",
          message: "Please enter your message"

        },
        errorElement: "em",
        highlight: function ( element, errorClass, validClass ) {
          $( element ).parents( ".form-group" ).addClass( "has-error" ).removeClass( "has-success" );
        },
        unhighlight: function (element, errorClass, validClass) {
          $( element ).parents( ".form-group" ).addClass( "has-success" ).removeClass( "has-error" );
        }
      } );
    });


</script>
</body>
</html>
Server Side Handling (process.php)

In this step, I will get the form data on the server and make the process of sending mails.

Using extract() function, I will convert the elements in an array into variables. In simple term, it does array to variable conversion.

<?php
extract($_POST);

$email_message  = "User details.\n\n";
$email_message .= "Name: ".$name."\n";
$email_message .= "Phone: ".$phone."\n";
$email_message .= "Email: ".$email."\n";
$email_message .= "subject: ".$subject."\n";
$email_message .= "Message: ".$message."\n";

$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();

$email_to="ajay.agrahari09@gmail.com";

mail($email_to, $subject, $email_message, $headers);  

Submit Contact Form in PHP Laravel 5 with toastr notifications jquery

Phone: (+91) 8800417876
Noida, 201301