我为自己的网站创建了一个联系表单。当我按下发送按钮时,表单会转到感谢页面。当感谢页面显示网址更改并添加文件夹/信息/时。见下文:
http://www.projectrefresh.net/info/thankyou.html
发生这种情况后,所有页面都被破坏,因为/ info /已添加且无法识别。
联系表单代码:
<form name="contact" method="POST" action="enquiryForm.php">
<p><b>Name</b><br>
</tr>
<tr>
<input type="text" name="Name" size=40>
</tr>
<tr>
<p><b>Your Email</b><br>
</tr>
<tr>
<input type="text" name="email" size=40>
</tr>
<tr>
<p><b>Company</b><br>
</tr>
<tr>
<input type="text" name="Company" size=40>
</tr>
<tr>
<p><b>Subject</b><br>
</tr>
<tr>
<input type="text" name="subject" size=40>
</tr>
<tr>
<p><b>Message</b><br>
</tr>
<tr>
<textarea cols=40 rows=10 name="message"></textarea>
</tr>
<tr>
<p><input type="submit" value=" Send ">
</tr>
</form>
</div>
PHP脚本:
<?php
$to="info@projectrefresh.net"; // what email address do you wish the email to be sent to?
$subject="Enquiry from website"; // what subject do you want the email to have
$sendto="thankyou.html"; // where do you want the visitor to be sent to afterwards?
//
// This is an UNSUPPORTED web form to email PHP script for usage by DiYhost.co.uk customers
//
$message = "This message has been sent from ".$_SERVER['HTTP_HOST']."\n\n\n";
while(list($var, $val)=each($HTTP_POST_VARS)){ // Get all variables
$message .= "[".$var."]: ".$val."\n\n"; // build the message body
}
$message .= "\n\nThe person's IP address who sent this email is: ".$_SERVER['REMOTE_ADDR'];
// see http://www.php.net/manual/en/function.mail.php
mail($to, $subject, $message,
"From: webmaster@".$_SERVER['SERVER_NAME']."\r\n"
."Reply-To: webmaster@".$_SERVER['SERVER_NAME']."\r\n"
."X-Mailer: PHP/" . phpversion());
// see http://www.php.net/manual/en/function.header.php
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$sendto);
?>
答案 0 :(得分:1)
以下是指向非常有用的“解码”网站的链接:http://validator.w3.org/ - 输入您的网页时出现了= 52个错误,3个警告
答案 1 :(得分:0)
链接的问题是如果它们是这样的......
<a href="index.html">Home</a>
它们与当前页面相关。您可以通过使它们相对于网站的根目录来解决您的问题:
<a href="/index.html">Home</a>
答案 2 :(得分:0)
它可能与您的主机提供商的php环境有关。 可能是dirname($ _ SERVER ['PHP_SELF']返回意外结果。
如何在没有完整路径的情况下替换标题重定向,只需要页面:
header("Location: $sendto");
如果你想看看额外的“info”目录从调试到输出的位置:
echo $_SERVER['HTTP_HOST'];
echo $_SERVER['PHP_SELF'];
echo dirname($_SERVER['PHP_SELF']);
替换标题(...与上述3行。您可以在此处复制结果。