我为我的网站创建的联系人表单有问题。我不是PHP专家,但我认为一个合适的联系方式会比简单的href mailto链接更专业。我设法收到了电子邮件,它告诉我发件人,但没有主题,只是空白,没有文本。此外,我每天都会收到2封没有发件人的电子邮件。
这是我在名为contact.PHP的页面中用PHP所做的。我希望你能帮忙:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$form1_services = $_POST['form1_services'];
$msg = $_POST['msg'];
$formcontent="From: $name 'n Message: $message";
$recipient = "dandrea.alessandro81@gmail.com";
$subject = "Customer Inquiry";
$mailheader = "From: $email 'r'n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You! Keep in touch soon!" . " -" . "<a href='index.html' style='text-decoration:none;font-family: 'gooddogregular';color:#009999;'> Return Home</a>";
?>
这是HTML中的实际形式:
<form action="contact.php" method="post">
<fieldset>
<legend></legend>
<div class="controlgroup">
<label for="form1_name">Name *</label>
<input type="text" placeholder="Enter your full name*" name="name" value>
</div>
<div class="controlgroup">
<label for="form1_email">Email *</label>
<input type="text" placeholder="Enter a valid email address*" name="email" value>
</div>
<div class="controlgroup">
<label for="form1_services">Services Required</label>
<select id="form1_services" name="services">
<option value="Website Design"> Website Design (from scratch) </option>
<option value="Resposive Design"> Responsive Design </option>
<option value="Customize a Site"> Customize a Site </option>
<option value="Quotation"> Quotation </option>
</select>
</div>
<div class="controlgroup">
<label>Project Info*</label>
<textarea placeholder="Ciao Alessandro, I am contacting you because...*" id="msg" name="msg" required aria-required="true"></textarea>
</div>
<input type="submit" name="submit_btn" id="send" value="Hit me up!" class="wow rubberBand animated" data-wow-delay="2s">
</fieldset>
</form>
提前非常感谢。Alessandro
看看你的PHP,你收集了很多字段,但实际上并没有使用它们。试试这个:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$form1_services = $_POST['services'];
$msg = $_POST['msg'];
$message = 'From: ' . $name . ' <' . $email . '>' . "'n";
$message .= 'Service: ' . $form1_services . "'n";
$message .= 'Message: ' . "'n";
$message .= $msg;
$recipient = "dandrea.alessandro81@gmail.com";
$subject = "Customer Inquiry";
$mailheader = "From: $email 'r'n";
mail($recipient, $subject, $message, $mailheader) or die("Error!");
echo "Thank You! Keep in touch soon!" . " -" . "<a href='index.html' style='text-decoration:none;font-family: 'gooddogregular';color:#009999;'> Return Home</a>";
请记住,在这一点上,您实际上并没有验证任何这些信息,因此您根本无法确定电子邮件地址或名称是否有效,但这至少应该向您显示发布的内容。
尝试添加一些标头:
$mailheader = "From: $email 'r'n";
$mailheader .= "MIME-Version: 1.0'r'n";
$mailheader .= "Content-Type: text/html; charset=ISO-8859-1'r'n";