如何在PHP中回显上次访问的页面?

时间:2012-09-23 10:10:30

标签: php

我不知道是否有像 $ _ SERVER [''] 一样的PHP函数 告诉用户他来自哪个页面,在他当前的页面上。

离。如果我正在浏览foo.com?id=abc然后去了foo.com?id=efg,我需要当前页面告诉我,我是直接来自foo.com?id=abc

我需要这个代码,所以任何帮助都表示赞赏。

4 个答案:

答案 0 :(得分:5)

$_SERVER['HTTP_REFERER']。但它仅填充如果浏览器这样做。否则,您需要自己跟踪用户(即通过在会话中存储最后一页)

答案 1 :(得分:3)

不应依赖$ _SERVER变量来提供准确的答案。您应该使用PHP会话来跟踪它们来自哪个页面,并且只需在每次进入新页面时更新它。有点像:

session_start();
if(!empty($_SESSION['visited_pages'])) {
  $_SESSION['visited_pages']['prev'] = $_SESSION['visited_pages']['current'];
}else {
  $_SESSION['visited_pages']['prev'] = 'No previous page';
}
$_SESSION['visited_pages']['current'] = $_SERVER['REQUEST_URI'];

然后要访问上一页,请访问: $ _ SESSION ['visited_pa​​ges'] ['prev']

答案 2 :(得分:2)

是的,这不仅仅是在PHP中,这是HTTP协议规范的一部分,使用:

$_SERVER['HTTP_REFERRER']

答案 3 :(得分:2)

HTTP_REFERRER 提供请求该文件的网页的地址。例如,页面上的图像是单独的请求,并且此请求的页面设置了$ _SERVER ['HTTP_REFERRER']。

我认为浏览器不允许服务器访问历史记录。它可以使用JavaScript完成,但只能提供后退按钮,无法轻松访问URL。虽然可以通过访问 计算的颜色到链接 ,使用简单的css和javascript技巧来实现。