为什么这个联系表格不起作用?

时间:2011-07-29 01:12:38

标签: php forms

似乎一切都已到位: 的 PHP:

<?php

if (!empty($_POST['name'])){
$msg = "name". $_POST['name'];
}else{
$fname = NULL;
echo "Name Required.<br />";
}

if (!empty($_POST['email'])){
$msg = "email". $_POST['email'];
}else{
$lname = NULL;
echo "Email Required.<br />";
}

if (!empty($_POST['www'])){
$msg = "Website". $_POST['www'];
}else{
$lname = NULL;
echo "Website Required.<br />";
}

if (!empty($_POST['comment'])){
$msg = "Comment". $_POST['comment'];
}else{
$email = NULL;
echo "A comment is required.<br />";
}

$recipient = "myemail@gmail.com";
$subject = "Form Feedback";
$mailheaders = "Reply-to". $_POST['email'];
//send the mail
mail($recipient, $subject, $msg, $mailheaders);
?>

HTML:

<div id="contact" style="height:280px; margin:1px 0;">
    <form id="contactLP" method="post" action="inc/php/contact_validate.php">
            <div class="align"><input type="text" name="name" tabindex="1" /></div>
            <div class="align"><input type="text" name="email" tabindex="2" /></div>
            <div class="align"><input type="text" name="www" tabindex="3" /></div>
            <div class="align"><textarea id="txta" name="comment" cols="15" rows="5" tabindex="4"></textarea></div>
            <span style="color:transparent;">test</span>
            <br><br>
        <div class="align"><input type="submit" class="submit" name="sendForm" id="SubmitContact" value="" tabindex="5" /></div>
    </form>
</div><!--CONTACT-->

当我正确地填写并提交时,它会显示“感谢您的留言”或类似的内容,但之后我就没有收到任何电子邮件。

我尝试在互联网上的服务器上以及在我的工作站上运行的本地服务器上运行它。

我上面做错了什么????????

3 个答案:

答案 0 :(得分:1)

是的,在您使用该字符串的每个实例中,"name; $_POST['name'] ";都应为"name". $_POST['name'];

答案 1 :(得分:1)

你的$ msg只保留当前值。

对$ msg变量

的所有值赋值尝试这样的事情
$msg .= "Comment". $_POST['comment'];

答案 2 :(得分:0)

mail function

您似乎已经稍微搞砸了$ mailheaders变量(回复部分),请在独立脚本中尝试此代码。如果它失败了,您可能必须检查邮件功能以及它在服务器上的设置方式。 (显然更改电子邮件地址)

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com';

mail($to, $subject, $message, $headers);