我使用这个功能PHP函数检查浏览器引用是否为空?
ereg('http://.',$_SERVER['HTTP_REFERER']) != 1
要检查如果访问者点击了一个链接或没有直接进入到这个特定页面。
我现在看到,ereg已被弃用,但没有知识的PHP将其转换为可能preg_match?
有没有其他的方法来检查引用者是否为空?
非常感谢!
我使用这个功能PHP函数检查浏览器引用是否为空?
ereg('http://.',$_SERVER['HTTP_REFERER']) != 1
要检查如果访问者点击了一个链接或没有直接进入到这个特定页面。
我现在看到,ereg已被弃用,但没有知识的PHP将其转换为可能preg_match?
有没有其他的方法来检查引用者是否为空?
非常感谢!
您的正则表达式只接受以http://
开头的查阅者。因此,如果有人从https://
页面导航到您的脚本,则引用者将注册为空。任何具体原因?
如果没有,使用empty()
永远是可行的:
if (!empty($_SERVER['HTTP_REFERER']))
empty($_SERVER['HTTP_REFERER'])
空:
!empty($_SERVER['HTTP_REFERER']);
对于一个协议:
strlen(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_SCHEME)) > 0
试试这个:
if (preg_match('#http://#', $_SERVER['HTTP_REFERER'])){
// match found...
}
或者,如果您要检查它是否是空的,使用empty
功能:
if (!empty($_SERVER['HTTP_REFERER'])){
// match found...
}