好的,所以我正在尝试做一个简单的操作,如果用户已经在浏览我们的网站,我们会显示某条消息,否则,我们要为首次访问者显示一条消息(或者只是那些没有我们的网址作为推荐人)
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";
}
}
?>
答案 0 :(得分:0)
您的代码似乎没问题。
引自php文档:
将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。
也许您的浏览器属于“并非所有用户代理都会设置此类别”类别。使用其他浏览器试用您的代码。
要获得更可靠的方法,请考虑使用Cookie!只需检查cookie值即可。如果它不存在,则是第一次访问(然后设置值)。如果它存在,则至少加载第二页。
Cookie的优点是,如果用户再次回来(通过设置Cookie的持久时间),您可以跟踪用户。
答案 1 :(得分:0)
你应该使用cookies