user2370906
user2370906

Reputation: 3

Contact form dosen't work correctly

I downloaded a website template but it seems that I can't get the contact form to work correctly when i use the contact form all I get to my email is this:

<p>$usersname has contacted you from your site.</p>
            <h3>Their Message is as follows:</h3>
            <p>$usersmessage</p>
            <h5>Contact details</h5>
            <p>Phone Number: $usersphonenumber</p>
            <p>Email Address: $usersemail</p>

This is the contact html page code :

//// Start Contact Form ////
$('#ajaxcontactform').submit(function(){$('input[type=submit]', this).attr('disabled', 'disabled');});


$('#ajaxcontactform').submit(

    function parseResponse() {

        var usersname = $("#name");
        var usersemail = $("#email");
        var usersphonenumber = $("#phone");
        var usersmessage = $("#comment");
        var contactformid = $("#contactformid");
        var url = "contact.php";

            var emailReg = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
            var valid = emailReg.test(usersemail.val());

            if(!valid) {
                $("#contactwarning").html('<p class="rejectionalert"><span>Your email is not valid!</span></p>').slideDown().delay(2000).slideUp();
                $('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
                return false;
            }

          if (usersname.val() == "" || usersname.val() == "Please Insert Your Name") {                
               $("#contactwarning").html('<p class="rejectionalert"><span>Please Insert Your Name!</span></p>').slideDown().delay(2000).slideUp();
               $('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
               return false;               
          }
          if (usersemail.val() == "" || usersemail.val() == "Please Insert Your Email") {
               $("#contactwarning").html('<p class="rejectionalert"><span>Please Insert Your Email!</span></p>').slideDown().delay(2000).slideUp();
               $('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
               return false;
          }
          if (usersphonenumber.val() == "" || usersphonenumber.val() == "Please Insert Your Phone Number") {
               $("#contactwarning").html('<p class="rejectionalert"><span>Please Insert Your Phone Number!</span></p>').slideDown().delay(2000).slideUp();
               $('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
               return false;
          }
          if (usersmessage.val() == "" || usersmessage.val() == "Please Leave A Message") {
               $("#contactwarning").html('<p class="rejectionalert"><span>You forgot to leave a message!</span></p>').slideDown().delay(2000).slideUp();
               $('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
               return false;
          }

                $.post(url,{ usersname: usersname.val(), usersemail: usersemail.val(), usersphonenumber: usersphonenumber.val(), usersmessage: usersmessage.val(), contactformid: contactformid.val() } , function(data) {
                    $('#contactajax').html(data);
                    $('#contactajax').slideDown().delay(3000).slideUp();
                    $("#name").val('Please Insert Your Name');
                    $("#email").val('Please Insert Your Email');
                    $("#phone").val('Please Insert Your Phone Number');
                    $("#comment").val('Please Leave A Message');
                    $('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
                });

      }

  );
//// End Contact Form ////

And this is the php code:

<?php

if(isset($_REQUEST['contactformid']) && $_REQUEST['contactformid'] == 1){

$youremail = "[email protected]"; // Enter your email here!!

$usersname = $_POST["usersname"];
$usersemail = $_POST["usersemail"];
$usersphonenumber = $_POST["usersphonenumber"];
$usersmessage = $_POST["usersmessage"];
$subject = 'DZ-KEYS';
$message = '<p>$usersname has contacted you from your site.</p>
            <h3>Their Message is as follows:</h3>
            <p>$usersmessage</p>
            <h5>Contact details</h5>
            <p>Phone Number: $usersphonenumber</p>
            <p>Email Address: $usersemail</p>'; 

$headers = 'From:' . $usersemail . "\r\n";
mail($youremail, $subject, $message, $headers);

echo '<p>Thank you for your email, Please check your email for payment and delivery details!</p>';

} else {
echo '<p>Form could not be sent, please try again!</p>';
}

Please help me with it thank you

Upvotes: 0

Views: 153

Answers (2)

chandresh_cool
chandresh_cool

Reputation: 11830

Don't You know the difference between single quotes and double quotes in PHP. Single quotes won't parse variables whereas double quotes parses it. So change your PHP code to double quotes

$message = "<p>$usersname has contacted you from your site.</p>
        <h3>Their Message is as follows:</h3>
        <p>$usersmessage</p>
        <h5>Contact details</h5>
        <p>Phone Number: $usersphonenumber</p>
        <p>Email Address: $usersemail</p>"; 

Upvotes: 0

andrewsi
andrewsi

Reputation: 10732

Change the single quotes around the $message declaration to double quotes:

$message = "<p>$usersname has contacted you from your site.</p>
        <h3>Their Message is as follows:</h3>
        <p>$usersmessage</p>
        <h5>Contact details</h5>
        <p>Phone Number: $usersphonenumber</p>
        <p>Email Address: $usersemail</p>"; 

Single quotes use the string as-is; double quotes will interpolate the variables in it.

Upvotes: 1

Related Questions