Я довольно новичок в использовании php, и сейчас я пытаюсь создать персональный сайт. У меня есть контактная форма на странице внизу, что я, похоже, не могу работать и отправлять мне электронное сообщение, которое пишет клиент. Форма имеет следующий HTML:Ошибка при отправке почты из php-файла
<form method="post">
<div class="form-group">
<label for="name">Your name:</label>
<input type="text" id="name" class="form-control" placeholder="Your name" />
</div>
<div class="form-group">
<label for="email">Your email:</label>
<input type="email" id="email" class="form-control" placeholder="Your email"/>
</div>
<div class="form-group">
<label for="comment">Message</label>
<textarea class="form-control" id="comment"></textarea>
</div>
<input type="button" class="btn btn-warning" value="submit" id="sendEmail"/>
</form>
и Я использую для следующих JavaScript, чтобы поместить форму в файл PHP и отправить по электронной почте самому себе. Здесь, в JavaScript:
<script>
$(".contentContainer").css("min-height",$(window).height());
$("result").hide();
$("#sendEmail").click(function(){
var name = $("#name").val();
var email = $("#email").val();
var comment = $("#comment").val();
$.post("validate.php",
{postname:name,postemail:email,postcomment:comment},
function(data){
$("#result").html(data).fadeIn();
});
});
</script>
и вот файл PHP, который я использую:
<?php
$error = NULL;
if (!$_POST['postname']) {
$error="<br />Please enter your name";
}
if (!$_POST['postemail']) {
$error.="<br />Please enter your email address";
}
if (!$_POST['postcomment']) {
$error.="<br />Please enter a comment";
}
if ($_POST['postemail']!="" AND !filter_var($_POST['postemail'], FILTER_VALIDATE_EMAIL)) {
$error.="<br />Please enter a valid email address";
}
if($error !=NULL){
$result='<div class="alert alert-danger"><strong>There were error(s)
in your form:</strong>'.$error.'</div>';
} else{
if (mail("PERSONAL EMAIL", "Comment from website", "Name: ".$_POST['postname ']."
Email: ".$_POST['postemail']."
Comment: ".$_POST['postcomment'])) {
//echo $_POST['postname']
$result='thank you!';
} else{
$result='There was an error sending your message! Try again later!';
}
}
?>
Несколько вещей, которые я заметил: когда я заменить «ЛИЧНУЮ ПОЧТУ», я не получайте электронное письмо, когда я проверяю контактную форму на своем веб-сайте. Однако, когда я раскомментирую echo $ _POST ['postname'] сразу после оператора почты (я интерпретировал его как mail = true, чтобы отправить почту), тогда переменная echos вернется на мой сайт. Однако переменная $ result не появляется в div #result, как я предполагаю. Что я делаю неправильно? Есть ли ошибка, которую я сделал, что мне нужно знать для справок в будущем? Эта концепция между html < -> php все еще для меня новая!
Ввод с типом = "кнопка" не должен представлять форму. A