我有一个听起来相对简单的问题,希望能得到一个简单的答案。我目前正在开发一个向下滚动类型的网站;一切都在一页上,你知道那一页。我的“联系人”部分位于页面的最底部,当然我正在使用 PHP 进行表单验证。验证部分有效,我对此没有任何问题。但是,如果验证失败,浏览器会带我回到页面顶部;由于显而易见的原因,这很不方便。
我知道 'header()' 函数,如果发生错误,我可以使用该函数将我保持在页面底部。例如,在我的 HTML 页面顶部 DOCTYPE 之前,我可以这样写:
if ($errors) {
header(Location: 'somelocation.php#contact');
}
这可行,但由于某种原因,它会阻止我嵌入到我的 html 中的 PHP 工作。如果出现一些错误,我想在页面上使用 PHP 显示它们:
<h2>Contact</h2>
<?php if($errors) { ?>
<p class="warning">Please fix the errors</p>
<?php } ?>
没有出现“请修正错误”。但是,如果我从页面中删除标题功能,它确实会出现,所以我知道问题是相关的。所以基本上,如果我删除 header() 函数,页面会回到顶部,并显示错误;如果我保留 header() 函数,页面会正确地停留在原处,但不会显示错误。
或者,也可以在以下情况下询问这个问题:正确验证表单时会发生什么,调用“标题”函数,我想留在页面底部并显示一些 HTML 说“谢谢,您的表格已提交”?(我不想去“谢谢”页面或其他任何东西,只要呆在同一个地方并在页面上说“谢谢”)我想我会遇到同样的问题。有针对这个的解决方法吗?
提前致谢!