I am working on a simple contact form however when the email comes through the fields are empty. The form sends fine but it doesn't get any of the values. My form HTML looks like this.
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
<input type="text" name="namefirst" id="namefirst" class="input-block-level" required="required" placeholder="Your First Name">
<input type="text" name="namefirst" id="namefirst" class="input-block-level" required="required" placeholder="Your First Name">
<input type="text" name="email" id="email" class="input-block-level" required="required" placeholder="Your email address">
<textarea name="message" id="message" required="required" class="input-block-level" rows="8"></textarea>
<button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>
The PHP side of things is as follows
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'Email sent!'
);
$nameFirst = $_POST['namefirst'];
$nameLast = $_POST['namelast'];
$email = $_POST['email'];
$message = $_POST['message'];
$subject = $message;
$email_from = $email;
$email_to = 'jdwman14@gmail.com';
$body = 'Name: ' . $nameFirst .' '. $nameLast. "
" . 'Email: ' . $email . "
" . 'Subject: ' . $subject . "
" . 'Message: ' . $message;
$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
die;
When the email comes through it has this format but has none of the variables.
Name:
Email:
Subject:
Message:
Thanks in advance.
There is issue in Form, There are two time namefirst input field in your form
<input type="text" name="namefirst" id="namefirst" class="input-block-level" required="required" placeholder="Your First Name">
replace namefirst with lastname in name & id attribute value in second input as following,
<input type="text" name="namelast" id="namelast" class="input-block-level" required="required" placeholder="Your Last Name">
I hope this solve your issue...