php $_SERVER["HTTP_REFERER"]变量可以获取上一个或前一个页面的URL地址。

比如有一个a.php页面,这个页面上有一个链接指向b.php页面,如果我们在a.php页面上点击这个链接,此时页面会到达b.php页面,在b.php页面输出$_SERVER["HTTP_REFERER"]变量,结果会显示a.php页面的地址。

如果页面是直接在浏览器打开的,则$_SERVER["HTTP_REFERER"]不会被设置,这个时候调用$_SERVER["HTTP_REFERER"]变量会出现以下错误信息

Notice: Undefined index: HTTP_REFERER in /path/to/filename.php on line 3

为了防止输出这个错误信息,我们可以使用下面严格一点的代码:

if(isset($_SERVER[\'HTTP_REFERER\'])) {
    echo $_SERVER[\'HTTP_REFERER\'];
}

或者这个代码也行:

echo isset($_SERVER[\'HTTP_REFERER\']) ? $_SERVER[\'HTTP_REFERER\'] : \'\';

 

php $_SERVER["HTTP_REFERER"]一般用在判断页面的来路,比如下面一个实例:

<?php
            if (isset($_SERVER[\'HTTP_REFERER\'])) {
                    print \"前一个页面的地址是: {$_SERVER[\'HTTP_REFERER\']}<br />\";
            } else {
                    print \"你没有点击任何链接到达这个页面\";
            }
    ?>

    <a href=\"refer.php\">点击我!</a>

由上面实例可以看出,$_SERVER["HTTP_REFERER"]可以用于网站数据统计。大家可以自己试一试。

收藏 打印