查询表单的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帖子[“电子邮件”]代码>