В настоящее время я работаю над созданием полностью функциональной формы контакта с использованием структуры Bootstrap и PHP. Я получаю тестовые письма из формы, но она не отображает контент так, как я его понял, и у меня возникают другие проблемы.Контактная форма не возвращает правильную информацию
Во-первых, отправленное пользователем электронное письмо отображается как принимаемое с хоста моего сайта. Он также не включает имя человека, о котором я думал, что я включил в моем PHP
Вот мой код contact.php и форма в моем файле index.html
<?php
$to = '[email protected]';
$name = $_POST['name'];
$email = $_POST['email'];
$subject=$_POST['subject'];
$message = $_POST['msg'];
if ($_POST){
mail($to, $subject, $message);
$confirm= "Your email was sent successfully!";
echo "<script type='text/javascript'>confirm('$confirm');</script>";
}
else {
$error_msg= "All fields are required!";
echo "<script type='text/javascript'>alert('$error_msg');</script>";
}
?>
index.html
<form class="form-horizontal" role="form" action="contact.php" method="post">
<div class="modal-header">
<h2>Contact</h2>
</div>
<div class="modal-body">
<!--name-->
<div class="form-group">
<label for="name" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="name" id="name" placeholder="First and Last Name">
</div>
</div>
<!--email-->
<div class="form-group">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" name="email" id="email" placeholder="[email protected]">
</div>
</div>
<!--subject-->
<div class="form-group">
<label for="subject" class="col-sm-2 control-label">Subject</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="subject" id="subject" placeholder="Enter subject here...">
</div>
</div>
<!--message-->
<div class="form-group">
<label for="msg" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" rows="4" name="msg" id="msg" placeholder="Enter message here..."></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-default" data-dismiss="modal">Close</a>
<button type="submit" class="btn btn-primary">Send</button>
</div>
</form>
Другая непреднамеренная проблема в том, что как только страница была отправлена, пустая страница (contact.php) загружаются. Я подумал, глядя на мой код, вместо этого появляется всплывающее окно javascript или подтверждение. Я новичок в этом, извиняюсь, если это глупые вопросы.
Благодаря -К
Простой ответ: используйте правильные заголовки и действительный адрес 'From:'. Прочтите руководство http://php.net/manual/en/function.mail.php –
Вы ничего не делаете с именем или адресом электронной почты в contact.php. Что касается javascript, который не работает, скорее всего, вы не создаете правильный HTML-документ, и поэтому он не будет работать. Сделайте источник просмотра и посмотрите, как выглядит HTML при отправке. – Halfstop
И просто принимая то, что пользователь вводит в форму и использует ее, не проверяя, что она созрела для проблем безопасности. – Halfstop