查询表单的PHP代码有什么问题?

查询表单的PHP代码有什么问题?,php,Php,我不是这方面的专家,但我有下面的代码来填写咨询表并发送电子邮件,但它不起作用。只需要两个字段(姓名和电子邮件地址),但每次收到错误消息时,都会出现发送表单的问题。请检查以确保您已填写所有字段 我猜这一定是第一部分的内容,但我不能让它工作,-有什么想法吗 <?php $SENT = false; if ($_POST && $_POST["name"] && eregi("^[a-zA-Z0-9 ]+$", $_POST["name"]) &&

我不是这方面的专家,但我有下面的代码来填写咨询表并发送电子邮件,但它不起作用。只需要两个字段(姓名和电子邮件地址),但每次收到错误消息时,都会出现发送表单的问题。请检查以确保您已填写所有字段

我猜这一定是第一部分的内容,但我不能让它工作,-有什么想法吗

 <?php

 $SENT = false;
 if ($_POST && $_POST["name"] && eregi("^[a-zA-Z0-9 ]+$", $_POST["name"]) && $_POST["email"]
 && eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST
 ["email"])) {

 $recipient = "me@mydomain.com";
 $recipient = "enquiries@mydomain.com";
 $subject = "Enquiry from the Website";
 $email_header = "From: " .$_POST["email"]. " (" .$_POST["name"]. ")\r\n";
 "Reply-To: " .$_POST["email"]. "";

 // build the email
 $s = "The following contact form has been submitted:\n\n";

 $s .= "=== Customer Details =====\n";
 $s .= "Name: " .$_POST["name"]. "\n";
 $s .= "Company: " .$_POST["company"]. "\n";
 $s .= "Telephone: " .$_POST["telephone"]. "\n";
 $s .= "Email Address: " .$_POST["email"]. "\n\n";

 $s .= "=== Enquiry Information =====\n";
 $s .= trim($_POST["comments"])."\n\n";

 $s.= "Generated: " .date("Y-m-d H:i:s");

 $email = wordwrap($s, 72). "\n\n\n"; // wrap text to 72 characters

 if (@mail($recipient, $subject, $email, $email_header)) {
 $SENT = true;
 } else {
 $SENT = false;
 }
 }

 ?>


 \\Rest of HTML code here...


 <? if (!$SENT) { ?>

 <? if (!$SENT && $_POST) { ?>
 <p class="red">There was a problem with sending the form.<br />Please check to ensure you have
 filled in all the fields.</p>
 <? } ?>
 <p><b>Enquiry Form</b><br />
 <span class="red">**</span> Indicates required fields</p>

 <form name="contact" action="contact.php" method="post">
 <fieldset class="conform">
 <legend>Your Details</legend><br />
 <label for="name">Name</label>
 <input id="name" type="text" size="40" value="<?php echo (isset($_POST["name"])) ? $_POST
 ["name"] : '' ; ?>" name="name" /> <span class="red">**</span><br />
 <label for="company">Company</label>
 <input id="company" type="text" size="40" value="<?php echo (isset($_POST["company"])) ? $_POST
 ["company"] : '' ; ?>" name="company" /><br />
 <label for="telephone">Telephone</label>
 <input id="telephone" type="text" size="40" value="<?php echo (isset($_POST["telephone"])) ? 
 $_POST["telephone"] : ''; ?>" name="telephone" /><br />
 <label for="email">Email Address</label>
 <input id="email" type="text" size="40" value="<?php echo (isset($_POST["email"])) ? $_POST
 ["email"] : ''; ?>" name="email" /> <span class="red">**</span><br />
 </fieldset>

 <fieldset class="conform2">
 <legend>Further Information</legend><br />
 <textarea id="comments" name="comments" size="40" rows="8" cols="50"><?php echo(isset($_POST
 ["comments"])) ? $_POST["comments"] : '' ; ?></textarea>
 </fieldset>

 <br />
 <a href="javascript:document.contact.submit();"><img title="" height="43" alt="" 
 src="images/submit.gif" width="102" border="0" /></a>
 </form>
 </div>

 <?
 } else {
 ?>
 <p>Thank you for your enquiry. We will reply as soon as possible.</p>
 <?
 }
 ?> 

\\剩下的HTML代码在这里。。。

发送表单时出现问题。
请检查以确保 填写所有字段

查询表格
**表示必填字段

您的详细信息
名称
谢谢你的询问。我们会尽快回复


您对$email\u标题的声明在“\r\n”之后结束。在以“Reply To:”开头的下一行中,它没有附加到$email_标题中。

您收到了什么错误消息?如果删除@from mail(),您可能会看到错误的其他详细信息。在message send函数中去掉“@”符号-这样您应该可以看到发送时发生的错误。或者检查您的php错误日志并发布一些错误出于好奇,您确定您的邮件应用程序(例如sendmail)正在工作吗?或者更好地说,您以前是否能够成功发送电子邮件?删除@符号没有任何区别,-我仍然会遇到相同的错误,我在哪里可以找到php错误日志?那么正确的代码应该是什么呢?在$email\u标题之后?是否需要将回复附加到$email\u标题?-如何添加?是的,您需要附加到$email_标题,就像您在下面添加$s一样。它应该看起来像$email_头;所以我把它改成这样,对吗$email_header=“From:”..$\u POST[“email”]。“(“$\u POST[“name”]。”)\r\n”$email\u header=“回复:”.$\u POST[“email”]。"";应该是:
$email\u header=“From:”.$\u POST[“email”]。“(“$\u POST[“name”]。”)\r\n”$电子邮件标题=“回复:”.$\u帖子[“电子邮件”]