【问题标题】:Redirect back to previous page in PHP在 PHP 中重定向回上一页
【发布时间】:2014-05-28 16:29:05
【问题描述】:

如何使用 header("Location:...") 重定向到上一页?例如,当用户在页面中向下滚动以查找链接,然后单击它 - 打开另一个页面,单击我给出的链接“返回链接 (header("Location:links.php");)”,但是当用户单击它,它将转到上一页,但在页面的顶部。

用户必须在找到他刚刚单击的链接的地方再次向下滚动(这令人沮丧)。是否有像 Web 浏览器中使用的 'back'-button 之类的 php 代码,您可以在单击其他内容之前立即返回到确切的位置和页面?

【问题讨论】:

  • header("Location:links.php#anchor"); 应该可以工作。或者为锚分配一个会话名称。
  • 在 SO stackoverflow.com/a/22490864 上查看此答案,它使用会话。

标签: php html navigation


【解决方案1】:

试试这个

header('Location: ' . $_SERVER['HTTP_REFERER']);

请注意,这可能不适用于安全页面 (HTTPS),总体而言,这是一个非常糟糕的主意,因为标头可能会被劫持。

header("location:javascript://history.go(-1)");

【讨论】:

    【解决方案2】:

    试试这个:header('Location: ' . $_SERVER['HTTP_REFERER']);

    'HTTP_REFERER'

    将用户代理引至 当前页面。这是由用户代理设置的。并非所有用户代理都会 设置这个,有些提供修改 HTTP_REFERER 作为 特征。简而言之,它不能真正被信任。

    【讨论】:

    • HTTP_REFERER 并不总是可靠的。
    • 至少对我有用。会话另一种技术
    • 哦,它在许多情况下都有效,但并不总是可靠的。我必须找到相关的页面,但我现在没有时间谷歌这个。但从记忆来看,这并不是最好的使用方法;只是说。
    • 我知道,这不是最好的方法。尤其是在 HTTPS 上不好。
    • 大约一个月前有一个关于 SO 的页面/问题,他们在那里讨论了一个类似的问题,有人设计了一个天才的方法来做到这一点,为了我的一生,我再也没有找到它。它很可能是我的最爱之一,但这可能需要一段时间,哈哈
    【解决方案3】:

    看起来您应该在页面中添加一些 javascript 以执行滚动。 这是使用 Jquery 实现的示例:how to remember scroll position of page

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 2013-01-09
      相关资源
      最近更新 更多