我正在尝试在我的网站上弹出一个电子邮件,您可以通过以下链接看到: http://www.madaxedesign.co.uk
然而,它完全重定向到感谢信息但是在重定向后它没有实现PHP。下面我展示了用于此联系表单的PHP,HTML和Jquery。
HTML:
<form id="submit_message" class="hide_900" action="/send.php" method="post">
<div id="NameEmail">
<div>
<label for="name">Name*</label>
<input type="text" title="Enter your name" name="name"/>
</div>
<div>
<label for="email">Email*</label>
<input type="text" title="Enter your email address" name="email"/>
</div>
</div>
<div id="MessageSubmit">
<div>
<textarea maxlength="1200" title="Enter your message" name="message"></textarea>
<label for="message">Message</label>
</div>
<div class="submit">
<input type="submit" value="Submit"/>
</div>
</div>
</form>
PHP:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$recipient = "maxlynn12@gmail.com";
$subject = "Email From Madaxe";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
header('Location: /thanks.html');
exit();
?>
Jquery的:
$('form#submit_message').live('submit', function() {
$('#popup').load('/thanks.html');
return false;
});
我想知道是否有人能够快速查看,看看我是否遗漏了任何明显的东西,我可以快速修复甚至指向正确的方向。
由于
答案 0 :(得分:2)
你的jQuery正在干扰。
我认为这可能会有所帮助,使用AJAX发布您的表单:jQuery Ajax POST example with PHP
答案 1 :(得分:0)
您不需要使用jquery代码。实际上它会阻止您的默认操作表单action=send.php
。并且它不会将您的输入传递给send.php
答案 2 :(得分:0)
$.live()
,而这正是您使用的内容。请降级或使用其他功能,例如.submit()
。
$('#submit_message').submit(function (e) {
e.preventDefault();
$('#popup').load('/thanks.html');
}
此外,在将$_POST
输入用于电子邮件标头之前清理它们至关重要,否则黑客可能会在标题中注入不良内容。
答案 3 :(得分:0)
如果您尝试通过localhost发送邮件,则需要更改php.ini文件中的某些设置。请参阅以下链接以执行此操作。
http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/