Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能做一件事;“后退”;PHP页面上的链接?_Php - Fatal编程技术网

我怎样才能做一件事;“后退”;PHP页面上的链接?

我怎样才能做一件事;“后退”;PHP页面上的链接?,php,Php,如何链接到使用PHP访问的上一页?使用$\u服务器['HTTP\u REFERER'] $page_referrer=$_SERVER['HTTP_REFERER']; 使用$page\u referer作为上一页的链接!警告:不要在主页上这样做 您可以猜测用户来自何处的唯一方法是,当他们请求您的PHP页面时,是否向您发送了一个referer头。该标头的内容存储在$\u服务器['HTTP\u referer']变量中 比如,你可以这样写 我真的不知道这与SQL有什么关系,但这里有一个关于如何

如何链接到使用PHP访问的上一页?

使用$\u服务器['HTTP\u REFERER']

$page_referrer=$_SERVER['HTTP_REFERER'];

使用$page\u referer作为上一页的链接!警告:不要在主页上这样做

您可以猜测用户来自何处的唯一方法是,当他们请求您的PHP页面时,是否向您发送了一个referer头。该标头的内容存储在
$\u服务器['HTTP\u referer']
变量中

比如,你可以这样写


我真的不知道这与SQL有什么关系,但这里有一个关于如何实现它的小示例:

if(isset($_SERVER['HTTP_REFERER'])) {
    echo "<a href=".$_SERVER['HTTP_REFERER'].">Go back</a>";
}
if(isset($\u服务器['HTTP\u REFERER'])){
回声“;
}

有几种方法可以做到这一点:

1) 使用浏览器历史记录-此选项依赖于浏览器中启用的JavaScript:

<a href='javascript:history.back(1);'>Back</a>
3) 使用一些服务器端机制,跟踪传递的页面,并相应地填充“back”链接中的“href”属性。这通常在向导中很有用;在其他情况下,开销可能过高。此外,当用户在多个浏览器选项卡中打开网站时,您应该小心处理这种情况

更新


4) 基于页面关系层次结构构建特定的“返回”链接。有关详细信息,请参阅Matti Virkkunen的回答。实际上,它是浏览具有“层次”关系的页面的最有效的方式(“列表视图>元素视图”、“节>小节”、“对象视图>嵌套对象视图”等)。

您甚至不需要PHP

<a href="javascript://" onclick="history.back();">Back</a>

您很少希望基于浏览器历史记录、引用头或会话获得反向链接。这就是浏览器的后退按钮的作用

当用户来自您的网站之外(例如,来自搜索引擎),并且他们希望获得页面层次结构中“一回”的页面时,反向链接是最有用的。这可能是上一页,树的上层,等等。显然,当用户来自您的网站之外时,浏览器历史记录混乱或引用头黑客将无法工作。创建正确的反向链接的唯一方法是了解页面层次结构,并为代码中的每个视图生成正确的链接。

使用
history.back()
$\u SERVER['HTTP\u referer']
不是最好的方法。
问题是当用户从direct link、google(或etc搜索引擎)、其他站点或类似流量访问您的站点时。然后,这些解决方案会将用户返回到站点外部的上一页。

跟踪会话中访问的每个页面variable@Shakti这是大多数noob经常犯的错误。
$\u SERVER['HTTP\u REFERER']
是您要写的内容,它不会写任何链接,因为信息不可用(例如:您直接在此特定页面上打开浏览器)。您可以插入“else”如果需要,请告知用户。创建基于历史的反向链接以添加到基于层次结构的面包屑(尤其是在电子商务网站上)的最佳和最简单的方法是,但是-1对于所有我最终出现在一个类似于谷歌搜索结果的页面上的时间。@Matti Virkkunen-谢谢,绝对有效的评论。更新的答案。一个问题提示:第一个示例中有什么分号?我想知道我是否遗漏了一些关于HTML的内容。第一个示例不是纯HTML,因为它使用JavaScript跳回浏览器历史记录。这个示例在禁用JavaScript的情况下不起作用(例如使用NoScript时)。
<a href="javascript://" onclick="history.back();">Back</a>