我不是说用户以前是否访问过网站,但一般来说,当一个未登录的用户(无论他们以前是否访问了网站)刚刚访问过你网站的主页时?我认为这与会话有关,但我还没有完全弄清楚。
您可以使用$_SERVER['HTTP_REFERER']
来执行此操作,它将返回上次访问的页面地址。重要的事情不能依赖于此,因为此变量可以更改,并且可能不会由用户代理设置。
来自PHP文档:
将用户代理引用到当前页面。这是由用户代理设置的。并非所有用户代理都会设置此项,并且有些提供了将HTTP_REFERER修改为特色简言之,它不能真正被信任。
您也可以使用cookie或会话变量,并将访问的页面设置为:
// by file
setcookie('last_page', $_SERVER['PHP_SELF']);
// by uri
setcookie('last_page', $_SERVER['REQUEST_URI']);
并使用进行检查
// homepage
$home = 'home';
// check
if ($_COOKIE['last_page'] == $home) {}
参考
- $服务器
- setcookie()
- $_COOKIE
您应该能够利用PHP的服务器变量。
$refer = $_SERVER['HTTP_REFERER'];
这很容易被任何用户欺骗,但这是一种简单的方法
您可以在进入索引页面时设置一个带有时间戳的cookie。
如果您想要一种万无一失的方法(假设用户启用了cookie),请启动一个会话并分配一个类似$_SESSION['ref'] = $_SERVER['PHP_SELF']
的变量,并在用户访问的后续页面上检查您的主页url。