I want to send html form data to my email. but after button click, data is not sending to email id which is specified in my code. can you help me? what is wrong with this code?
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "sharayukulkarni18@gmail.com";
$email_subject = "Hello";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you
submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['email']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you
submitted.');
}
$first_name = $_POST['first_name']; // required
// required
$email_from = $_POST['email']; // required
// not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be
valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be
valid.
<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br
/>';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
This is Html form code: I have used post method , as well as called action=".php" file. but still data is not sent to my email id.
<div class="col-md-6 c-footer-4-p-left">
<div class="c-feedback">
<h3 class="c-font-thin">Enquiry</h3>
<form method="post" action="send_form_email.php">
<input type="text" placeholder="Your Name" class="form-control"
name="first_name">
<input type="text" placeholder="Your Email"
class="form-control" name="email">
<textarea rows="8" name="comments"
placeholder="Write comment here ..." class="form-control"></textarea>
<button type="submit" value="Submit"
class="btn c-btn-white c-btn-border-2x c-btn-uppercase btn-lg c-btn-bold
c-btn-square">Send</button>
</form>
</div>
</div>