【问题标题】:Can I have PHP redirect to an in-page link when I process a form?我可以在处理表单时让 PHP 重定向到页内链接吗?
【发布时间】:2010-07-05 14:58:56
【问题描述】:

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

我正在尝试进行设置,因此当有人完成/提交联系表单时,它将他们重定向到#contact_area(在同一页面上),但在调用标头函数之后会引发“无法修改标头信息”错误.

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

谢谢!

【问题讨论】:

    标签: php redirect


    【解决方案1】:

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

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

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

    第二个选项可能是最简洁的,但第一个应该更容易实现。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        选择选项 1,如果您有时间,可以使用 jquery 版本。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-13
          • 2011-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-19
          相关资源
          最近更新 更多