处理表单时,我可以将PHP重定向到页内链接吗?

时间:2010-07-05 14:58:57

标签: php redirect

我有一个垂直滚动网站(很多页内链接)。我还有一个我正在处理的联系表单脚本。

我正在尝试设置它,所以当有人完成/提交联系表单时,它会将它们重定向到#contact_area(在同一页面上),但是在抛出“无法修改标题信息”错误之后调用标题函数

有关如何从内部处理脚本后重定向的任何建议吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

在PHP打印任何输出之前,需要进行标题重定向。如果要将用户定向到当前页面上的锚点,您有两个选择:

  1. 正常提交表格。您的PHP脚本处理数据并在任何输出之前执行此操作:header("Location: /my_same_page#contact_area");页面将重新加载,但它们最终会在正确的位置。

  2. 通过AJAX提交表单数据,然后滚动到#contact_area锚点。

  3. 第二个选项可能是最干净的,但第一个选项应该更容易实现。

答案 1 :(得分:0)

你可以使用输出缓冲来解决这个问题,很少有例子here

答案 2 :(得分:0)

我假设您将表单发回到相同的权利? 也许将联系表单提交给另一个页面,例如contactus.php,一旦成功将你的标题位置代码放入该OR,你可以使用jquery表单插件(我使用的submit()函数)在后台运行然后你也许可以jquery scrollTo()你的标签。

获得选项1,如果你有时间,那么可以使用jquery版本。