0

好的,所以我正在尝试做一个简单的操作,如果用户已经在查看我们的网站,我们将显示一条消息,否则,我们想为第一次访问者(或者只是那些没有我们的 URL 的访问者)显示一条消息他们的推荐人)

Else 语句仅显示为空白,无论我如何旋转它。

想法?

<?php 
if (isset($_SERVER['HTTP_REFERER'])) {
    $referer = $_SERVER['HTTP_REFERER'];
    if (strpos($referer, "http://www.example.com/") === 0) {
        echo "Match Okay";
    } else {
        echo "No Match";
    }
}
?>
4

2 回答 2

0

你的代码似乎没问题。

引用自 php 文档:

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

也许您的浏览器属于“并非所有用户代理都会设置”类别。使用其他浏览器尝试您的代码。

要获得更可靠的方法,请考虑使用 cookie!只需检查 cookie 值。如果不存在,则为第一次访问(然后设置值)。如果它存在,那么它至少是加载的第二个页面。

cookie 的优点是您可以跟踪用户是否再次回来(通过为 cookie 设置持久时间)

于 2013-08-26T08:28:20.347 回答
0

你应该使用cookies

来源: http: //php.about.com/od/advancedphp/qt/php_cookie.htm

于 2013-08-26T08:30:17.750 回答