在PHP中,如何检查用户是否刚访问了网站的主页/索引页面?

时间:2012-02-13 18:36:52

标签: php session login

我之前没有谈论用户是否访问过该网站,但一般情况下,如果用户(无论他们之前是否曾访问过该网站)未登录,刚刚访问过您网站的主页?我认为它必须对会话做些什么,但我还没有完全理解它。

4 个答案:

答案 0 :(得分:2)

您可以使用$_SERVER['HTTP_REFERER']执行此操作,该// by file setcookie('last_page', $_SERVER['PHP_SELF']); // by uri setcookie('last_page', $_SERVER['REQUEST_URI']); 将返回访问过的最后一页的地址。您不能依赖于此来处理重要事情,因为此变量可以更改,并且可能未由用户代理设置。

从PHP文档:

  

将用户代理引用到的页面地址(如果有)   当前页面。这是由用户代理设置的。并非所有用户代理都会   设置这个,有些提供修改HTTP_REFERER的能力   特征。简而言之,它无法真正被信任。

您还可以使用Cookie或会话变量,并将访问的页面设置为:

// homepage
$home = 'home'; 
// check
if ($_COOKIE['last_page'] == $home) {}

并查看:

{{1}}

<强>参考

答案 1 :(得分:1)

您应该能够利用PHP的Server Variable

$refer = $_SERVER['HTTP_REFERER'];

这很容易被任何用户欺骗,但这是一种简单的方法。

答案 2 :(得分:1)

您可以在进入索引页面时设置带有时间戳的Cookie。

答案 3 :(得分:1)

如果您想要一种万无一失的方式(假设用户启用了Cookie),请启动一个会话并分配一个类似$_SESSION['ref'] = $_SERVER['PHP_SELF']的变量,并在用户访问的后续页面上检查您的主页网址。