不明白为什么我的联系方式是不发送电子邮件
我试图让电子邮件在弹出发送了我的网站上,你可以通过下面的链接查看: 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 = "[email protected]";
$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;
});
我想知道如果任何人都可以快速地看看,看看,如果我错过什么明显的,我可以快速修复,甚至指向正确的方向。
谢谢
你的jQuery干扰。
我想,这也许会有帮助,使用AJAX来发表您的形式:jQuery Ajax POST example with PHP
感谢这似乎是我正在寻找。 – MaxwellLynn 2013-05-07 12:54:38
你并不需要jQuery代码。实际上它会阻止您的默认操作形式action=send.php
。并且它不会将您的输入传递给send.php
我需要Jquery在弹出式窗口中发送感谢消息,不过像Luke说我可以使用Ajax来做到这一点。但不完全理解为什么我的jquery阻止它被发送。 – MaxwellLynn 2013-05-07 10:18:15
你有'header('Location:/thanks.html');',那么我认为,你不需要 – Amir 2013-05-07 10:19:22
我试图去看看它是否改变了什么,但它仍然没有发送。 – MaxwellLynn 2013-05-07 10:25:33
$.live()
在jQuery 1.9中已弃用,这就是您似乎正在使用的内容。请降级或使用替代功能,如.submit()
。
$('#submit_message').submit(function (e) {
e.preventDefault();
$('#popup').load('/thanks.html');
}
而且,这是至关重要的,你使用他们的电子邮件标题前净化你的$_POST
输入,否则黑客可以注入坏事变成你的头。
如果您尝试通过本地主机发送邮件,则需要更改php.ini文件中的某些设置。请参阅下面的链接来完成此操作
http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/
什么是在您的语句中返回false的目的 – kumar 2013-05-07 10:09:07
您的表单是开放的邮件头注入。总是检查发件人地址是否有效,否则注入'bla @ bla \ r \ nBcc:spam @ example.com'很容易。 – 2013-05-07 10:09:29
in Jquery:try'return true' – Joddy 2013-05-07 10:17:28