Не работает кнопка отправки php

Я недавно начал кодировать, однако, работая над моей контактной формой, я просто не могу заставить ее работать:(...

Проблема в том, что кнопка отправки неактивна и на самом деле ничего не происходит (= экран не меняется), когда я пытаюсь отправить электронное письмо самому себе, используя форму.

Это мой код:

<div class="col-sm-6">
<h4 class="font-alt">Get in touch</h4>
<br>
<form id="contact-form" role="form" novalidate="">
<div class="form-group">
<label class="sr-only" for="cname">Name</label>
<input type="text" id="cname" class="form-control" name="cname"       placeholder="Name*" required="" data-validation-required-message="Please enter your name.">
<p class="help-block text-danger"></p>
</div>

<div class="form-group">
<label class="sr-only" for="cemail">Your Email</label>
<input type="email" id="cemail" name="cemail" class="form-control" placeholder="Your E-mail*" required="" data-validation-required-message="Please enter your email address.">
<p class="help-block text-danger"></p>
</div>

<div class="form-group">
<textarea class="form-control" id="cmessage" name="cmessage" rows="7" placeholder="Message*" required="" data-validation-required-message="Please enter your message."></textarea>
<p class="help-block text-danger"></p>
</div>

<div class="text-center">
<button type="submit" class="btn btn-block btn-round btn-d">Submit</button>
</div>

</form>
<div id="contact-response" class="ajax-response font-alt"></div>
</div>

И это php, с которым я работаю:

<?php
// Mail settings
$to = "info@liannesiemensma.com";
$subject = "Contact form";
if (isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["message"])) {

$content  = "Name: "     . $_POST["name"]    . "\r\n";
$content .= "Email: "    . $_POST["email"]   . "\r\n";
$content .= "Message: "  . "\r\n" . $_POST["message"];

if (mail($to, $subject, $content, $_POST["email"])) {

$result = array(
"message" => "Thanks for contacting me! I will do my best to reply in a timely manner.",
"sendstatus" => 1
);

echo json_encode($result);
} else {

$result = array(
"message" => "Sorry, something is wrong.",
"sendstatus" => 0
);

echo json_encode($result);
}
}
?>

Что я делаю неправильно?

3 ответа

Вы пропускаете теги action и method в объявлении формы, как в следующем примере:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Затем вам нужно переименовать ваш файл с расширением.php и выполнить некоторую обработку php в <?php ?> теги. Вы можете проверить свои поля, используя метод isset(), как в следующем примере:

isset($_POST["cname"])

Написать форму тега action="fileName.php" и метод

Пример:<form id="contact-form" role="form" novalidate="" action="#" method="post">

На самом деле ваша форма отправляется правильно на той же странице просто добавьте

<?php
print_r($_GET);
?>

добавьте это в первой строке и проверьте

Другие вопросы по тегам