网站联系表单提交空白电子邮件

时间:2014-07-10 15:42:48

标签: php html forms email contact

我的网站上的联系表单存在问题! 我尝试在线搜索答案,但我是这个网站建设的新手,如果可能的话,我会很感激一个简单的答案。我猜编码在某处错了,但我真的不知道在哪里!

问题 - 我按下提交后会收到电子邮件,但在我的收件箱中,它只显示主题行,不会显示消息,电子邮件或其来自的人的姓名。

请帮忙!


以下是HTML代码:

<form action="result.php" method="post">

<input name="Name" class="" type="text" value="Name (Required)" onfocus="if(this.value == 'Name (Required)') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Name (Required)'; }" />

<input name="Email" class="" type="text" value="Email (Required)" onfocus="if(this.value == 'Email (Required)') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Email (Required)'; }" />

<input name="Subject" class="" type="text" value="Subject" onfocus="if(this.value == 'Subject') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Subject'; }" />

<textarea name="Detail" cols="" rows="" onfocus="if(this.value == 'Describe your project in detail...') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Describe your project in detail...'; }">Describe your project in detail...</textarea>

<input type="submit" name="submit" action="submit" value="submit"  class="submitbtn" />
<input type="reset" name="reset" action="reset" value="reset" class="resetbtn" />
</form>

和PHP代码:

<?php
$name = $_POST['Name'];
$email = $_POST['Email'];
$subject = $_POST['Subject'];
$detail = $_POST['Detail'];
$to = "info@philippamichael.com";
$subject = "Contact Form Submission";
mail ($to, $subject, $detail, "From" . $name);
echo "Thank You. Your Message has been sent.";

?>

3 个答案:

答案 0 :(得分:3)

哟似乎没有在任何地方使用$email,而且你的标题没有正确的格式。也许是这样的:

<?php
$name = $_POST['Name'];
$email = $_POST['Email'];
$subject = $_POST['Subject'];
$detail = $_POST['Detail'];

$to = "info@philippamichael.com";
$subject = "Contact Form Submission";
$message = $detail . "\n\nFrom Name: {$name}";
$message .= "\nFrom Address: {$email}";

mail ($to, $subject, $message , "From: info@philippamichael.com");

echo "Thank You. Your Message has been sent.";

请注意,我完全删除了您的From标头,因为您不想从任意地址发送。最好使用您自己的域名中的无回复地址等,只需将联系信息包含在电子邮件正文中即可。

答案 1 :(得分:1)

检查邮件功能:http://www.php.net/manual/en/function.mail.php

 bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

第4个参数是additional_headers,因此您的格式可能有误。尝试:

mail ($to, $subject, $detail, "From: " . $name);

答案 2 :(得分:0)

您的标头错误...请使用此语法。

$to = "info@philippamichael.com";
$subject = "Contact Form Submission";
$message = $detail;
$headers = "From: ".$name;
$headers .= "\r\nMIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;\r\n";
mail($to,$subject,$message,$headers);

这应该有用。