我有一个“告诉朋友”弹出式电子邮件表单,允许用户使用他们输入的电子邮件地址共享我的页面。它弹出很好,但我无法通过表单发送电子邮件。
HTML:
<div id="tellfriend">
<a href="#close">Close</a>
<form id='tellafriend_form' method="post" action="#sendMessage" name="tellafriend_form">
<label for="name">Your Name:</label>
<input type="text" id="name" name="name" />
<label for="to">Friend's email:</label>
<input type="text" id="to" name="to" />
<label for="subject">Subject:</label>
<input type="text" id="subject" name="subject" />
<label for="message">Message:</label>
<textarea id="message" name="message"></textarea>
<input type="submit" name="submit" value="Submit">
</form>
</div><!-- #tellfriend -->
处理“弹出”的javascript:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script>
$(function() {
$('#tellfriend').hide();
$('#sendMessage').click(function(e) {
$("#tellfriend").fadeToggle('fast');
});
});
</script>
应该发送邮件的php:
<?
if (isset($_POST['Submit'])) {
// This will check to see if the form has been submitted
$senders_name = $_POST['name'];
// The person who is submitting the form
$recipient_friend = $_POST['to'];
// The forms recipient
$subject = $_POST['subject'];
// The subject line
$message = $_POST['message'];
// The message being sent
mail($recipient_friend, "From $senders_name", $subject, $message);
if (isset($_POST['your_email'])) {
echo "<br>Your friend has been contacted <br><br>Thank you $senders_name";
}}
?>
免责声明:PHP新手,希望学习。谢谢!
答案 0 :(得分:1)
邮件功能中参数的顺序不正确。见this
应该是
mail($recipient_friend, $subject, $message);
如果您想使用标题,请执行此操作
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: '.$recipient_friend.' <'.$recipient_friend.'>' . "\r\n";
$headers .= 'From: '.$sender.' <'.$senderEM.'>' . "\r\n";
然后像这样打电话
mail($recipient_friend, $subject, $message, $headers);
答案 1 :(得分:0)
您的PHP代码中有一个错误:
if (isset($_POST['Submit'])) {
应该是:
if (isset($_POST['submit'])) {
小写“s”。
确实,您提交按钮的名称是“提交”,但值是“提交”。 你最终可以这样做:
if (isset($_POST['submit']) && $_POST['submit'] == 'Submit') {
你的邮件参数不正确,就像布格所说的那样。
答案 2 :(得分:0)
您有2个错误
第一
if (isset($_POST['submit']))
// $_POST is case sensitive
第二
if (isset($_POST['your_email']))
// you dont have an inout named 'your_email'