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

Prompt Engineering for Web Developers: Work Smarter with AI 🚀

   AI is changing the way web applications are built. From generating components and writing tests to planning projects and reviewing code, developers can now use natural language prompts to accelerate development. This approach, often called Vibe Coding, allows developers to describe what they want and let AI generate the solution. The secret to getting quality results is Prompt Engineering : the practice of writing better prompts. 📌 The RTCF Framework A simple framework for creating effective prompts is RTCF : Role → Who should AI act as? Task → What needs to be done? Context → Why is it needed? Format → How should the output look? ❌ Weak Prompt Make me a learning app. ✅ Strong Prompt Role: Senior React Developer Task: Build a React Learning Planner Context: Users need to track learning resources through stages Format: React, Tailwind CSS, drag-and-drop, modern UI, no TypeScript Providing clear instructions dramatically improves AI o...

💰 Managing Finances

Most people focus on earning more, but real wealth is built through smart investing, risk management, and disciplined financial habits. Here's a simple framework to help secure your financial future. 🎯 1. Set Financial Goals First Invest with a purpose: Emergency Fund Home Purchase Child Education Retirement Financial Independence ⚠️ 2. Control Lifestyle Inflation ✅ Good Debt Home Loan Business Loan Education Loan ❌ Bad Debt Credit Card Loan Personal Loan Consumer EMIs Rule: Keep total EMIs below 40% of monthly income . 🛡️ 3. Create an Emergency Fund Maintain 6 months of household expenses in: Fixed Deposits (FD) or Sweep-In Account Arbitrage Mutual Fund (tax-efficient for higher tax brackets) Post Office Deposits This should be your first financial priority. ❤️ 4. Protect Before You Invest Term Insurance Coverage: 10-15× Annual Income/CTC Health Insurance Keep a personal family floater policy. Do not rely only on employer...

Prompt Engineering with OpenAI ChatGPT

Prompt Engineering: A Simple Guide to Better Results Many people use AI with vague prompts and hope for the best. Something like: "Write a postmortem update about yesterday's outage." often produces inconsistent results. Instead of playing Prompt Roulette , use a structured approach. A Better Workflow 1. Contract – Define what success looks like. Ask: What must be included? 2. Scaffold – Use a reusable template. For example: Summary Impact Timeline Known Facts 3. Levers – Change only one thing at a time: Add more detail Shorten the response Change the tone Adjust the audience 4. Loop – Review and improve: Generate → Review → Find one issue → Improve the prompt → Run again. Think of a Prompt as a Contract A strong prompt usually contains five parts: Instructions – What should AI do? Context – Facts and background information. Constraints – Rules and limitations. Examples – Optional style or format sa...