我正在使用此功能
ereg('http://.',$_SERVER['HTTP_REFERER']) != 1
检查访问者是否点击了链接或是否直接输入此特定页面。
我现在看到ereg已弃用,但不知道php将其转换为preg_match?
有没有其他方法可以检查引用者是否为空?
非常感谢!!
答案 0 :(得分:5)
您的正则表达式只接受以http://
开头的引用者。因此,如果某人从https://
页面导航到您的脚本,则引用者将注册为空。有什么具体原因吗?
如果没有,使用empty()
将始终有效:
if (!empty($_SERVER['HTTP_REFERER']))
答案 1 :(得分:0)
empty($_SERVER['HTTP_REFERER'])
答案 2 :(得分:0)
为空:
!empty($_SERVER['HTTP_REFERER']);
对于协议:
strlen(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_SCHEME)) > 0
答案 3 :(得分:0)
试试这个:
if (preg_match('#http://#', $_SERVER['HTTP_REFERER'])){
// match found...
}
或者如果您想检查它是否为空,请使用empty
功能:
if (!empty($_SERVER['HTTP_REFERER'])){
// match found...
}