Skip to main content

PHP: 1. Simple Form Submission with Mail & Ajax Functionality


Simple Form Submission with Mail & Ajax Functionality

If you are looking to make your website contact form functional then the following code may help you around, You just follow the steps given and you are done, The code will be helpful for both the person the one who have no coding language and for the intermediate developer as well.

HTML File: contact.html
<form action=""> 
         <input type="text" placeholder="NAME" name="name" id="name"/>
         <input type="email" placeholder="E-MAIL" name="email" id="email" />
         <input type="text" placeholder="PHONE" name="phone" id="phone"/>
         <!--HTML For Checkboxes-->
         <div class="form-group">
            <label>Service you are looking for </label>
            <input type="checkbox" value="training" name="service" id="training"/>
            <span>TRAINING</span>                                   
            <input type="checkbox" value="exhibition" name="service" id="exhibition"/>
            <span>EXHIBITION</span>
            <input type="checkbox" value="event" name="service" id="event"/>
            <span>EVENT</span>
         </div>
        <!--HTML For Checkboxes-->
         <textarea placeholder="MESSAGE" rows="2" name="msg" id="msg"></textarea>
         <input type="button" value="send" id="submit">
        <!--HTML For Error & Success Message-->
         <span id="error_message" class="text-danger"></span>
         <span id="success_message" class="text-success"></span>
        <!--HTML For Error & Success Message-->
</form> 

Jquery
<script>
        $("#submit").click(function(){
            var name = $('#name').val();
            var email =$('#email').val();
            var phone =$('#phone').val();
            /*Array for Service Checkboxes*/
            var service = new Array();
            /*Pushing The Checked values in array*/
            $('input[name="service"]:checked').each(function() {
                service.push(this.value);
            });
            var msg = $('#msg').val();
            if(name=='' || email=='' || phone=='' || service=='' || msg==''){
                $('#error_message').html('All fields are required');
            }else{
                $('#error_message').html('');
                $.ajax({
                    url:'mail.php',
                    method:'POST',
                    data:{name:name,email:email,phone:phone,service:service,msg:msg},
                    success:function(data){
                        $("form").trigger("reset");
                        $('#success_message').fadeIn().html(data);
                        $('#success_message').fadeOut(5000);
                    }
                });
            }
        });
    </script>

PHP File: mail.php
<?php
        $name = $_POST['name'];
        $email = $_POST['email'];
        $phone = $_POST['phone'];   
        /*Breaking the jquery array with implode function*/
        $service = implode(' | ',($_POST['service']));  
        $msg = $_POST['msg'];     
        $message = 'Name: '.$name.'<br>';
        $message .= '  Email: '.$email.'<br>';
        $message .= '  Phone: '.$phone.'<br>';
        $message .= '  Service: '.$service.'<br>';
        $message .= '  Message: '.$msg;
        $headers = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-Type: text/html; charset=ISO-8859-1' . "\r\n";
        mail('youremail@gmail.com','Enquiry from your website contact form',$message,$headers);
        if(mail('youremail@gmail.com','Enquiry from your website contact form',$message,$headers)){
            echo "Message sent";
        }else{
            echo "Failed";
        }
?>

Comments

  1. I have tried the code did some silly mistake didn't consider the sequence of variables in ajax variables fixed it by making it in correct sequence of the variables.

    ReplyDelete
  2. getting duplicate submissions how to fix this?

    ReplyDelete
    Replies
    1. Update Your Code with the following:-
      $sent=0;
      if ($sent == '0') {
      mail('youremail@gmail.com', 'Enquiry from Contact Page On Enquiry from your website contact form', $message,$headers);
      $sent = 1;
      echo "Message sent";
      }else{
      echo "Failed";
      }

      Delete

Post a Comment

Popular posts from this blog

WP: 8. Dynamically show post taxonomies and their data in tab format [Solved]

    Today I ran into a problem, I need to dynamically show post taxonomies and their data in tab format and found this solution. And nonetheless, It's better to fix the thing with some bunch of code rather than uploading one more bulky plugin on your website that will end up making your site heavy. Just follow the steps below and avoid heading up into any malicious or bulky plugin for this particular problem from now on forever. Step 1: Get the taxonomies terms first <?php     $terms = get_terms( array(       'taxonomy' => 'off_plan_categories',       'hide_empty' => true,     ) );     // echo '<pre>';     // print_r($terms);     // die; ?> Step 2:  Execute loop first for tab navigation <nav id="offPlanPropertyTabs" class="offplan-property-type-tabs nav nav-tabs"> <?php foreach($terms as $key => $term): ?>   <button class="nav-item nav-link <?php if($key==0): ?> active <?php en

JS: Cheatsheet

   Datatypes Difference Between Var, Let and Const Functions and its types Asynchronous operations in JS

C++: 9. File Handling

Files are used to store data in a storage device permanently. File handling provides a mechanism to store the output of a program in a file and perform various operations on it. Example of opening/creating a file    #include<iostream> #include<fstream> using namespace std; int main() { fstream new_file; new_file.open("new_file",ios::out); if(!new_file) { cout<<"File creation failed"; } else { cout<<"New file created"; new_file.close(); // Step 4: Closing file } return 0; } Writing to a File #include <iostream> #include <fstream> using namespace std; int main() { fstream new_file; new_file.open("new_file_write.txt",ios::out); if(!new_file) { cout<<"File creation failed"; } else { cout<<"New file created"; new_file<<"Learning File handling"; //Writing to file new_file.close();