我最近问了一个关于在没有页面重新加载的情况下执行Send Mail脚本的问题,并解决了我的AJAX问题,这一切都已解决。我现在遇到以下问题:
当我的表单发布到我的AJAX时,脚本会被执行,但是后期数据似乎没有通过PHP脚本。
我的问题的链接是:Contact Form same page success。
<?php
$name = ($_POST['name']);
$email = ($_POST['email']);
$fsubject = ($_POST['subject']);
$message = ("Name: ". $name . "\nEmail Address: " . $email . "\n\nMessage: " . $_POST['message']);
// Set Mail
$to = "emailaddress@fakeone.com";
$header = 'From: contactus@fakeone.com' . "\r\n" .
'Reply-To: website@fakeone.com';
$subject = "{$fsubject}";
$body = "{$message}";
// Send Mail
if (mail($to, $subject, $body, $header))
{
echo("<p>Message successfully sent!</p>");
}
else
{
echo("<p>Message delivery failed...</p>");
}
?>
<div id="success" style="color:red;"></div>
<form action="" id="contactform" method="post">
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>Your name *</label>
<input type="text" value="" data-msg-required="Please enter your name." maxlength="100" class="form-control" name="name" id="name">
</div>
<div class="col-md-6">
<label>Your email address *</label>
<input type="email" value="" data-msg-required="Please enter your email address." data-msg-email="Please enter a valid email address." maxlength="100" class="form-control" name="email" id="email">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Subject</label>
<input type="text" value="" data-msg-required="Please enter the subject." maxlength="100" class="form-control" name="subject" id="subject">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Message *</label>
<textarea maxlength="5000" data-msg-required="Please enter your message." rows="10" class="form-control" name="message" id="message"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<input type="submit" id="submit" value="Send Message" class="btn btn-info btn-lg" data-loading-text="Loading...">
</div>
</form>
<script>
$(document).ready(function () {
$('#submit').click(function () {
$.post("sendmail.php", $("#contactform").serialize(), function (response) {
$('#success').html(response);
});
return false;
});
});
</script>
当我填写表格时,没有任何回复,它会发送一封空电子邮件。
任何想法都是为什么帖子没有在这方面工作将非常感谢。如果我通过发布其他问题违反任何规则,请告诉我们!
此致 丹
答案 0 :(得分:0)
我认为问题出在您的PHP代码中。您有一个名为 $ headers 的变量,但在您的邮件功能中,您使用的是 $ header 。一个错字。
答案 1 :(得分:0)
更改以下行 -
$subject = "{$fsubject}";
$body = "{$message}";
到此 -
$subject = $fsubject;
$body = $message;