Php 使用未定义的常量http_x_forwarded_
这是我的密码:Php 使用未定义的常量http_x_forwarded_,php,Php,这是我的密码: if (getenv(HTTP_X_FORWARDED_FOR)) { $pipaddress = getenv(HTTP_X_FORWARDED_FOR); $ipaddress = getenv(REMOTE_ADDR); } else { $ipaddress = getenv(REMOTE_ADDR); } 我得到这个错误: use of undefined constant http_x_forwarded_for-assumed http_x
if (getenv(HTTP_X_FORWARDED_FOR))
{
$pipaddress = getenv(HTTP_X_FORWARDED_FOR);
$ipaddress = getenv(REMOTE_ADDR);
}
else
{
$ipaddress = getenv(REMOTE_ADDR);
}
我得到这个错误:
use of undefined constant http_x_forwarded_for-assumed http_x_forwarded_for
我不明白真正的问题是什么。帮帮我吧用单引号引出来
getenv('HTTP_X_FORWARDED_FOR')
您正在将常量传递给,这实际上需要一个字符串 改为:
if (getenv('HTTP_X_FORWARDED_FOR'))
它使用常量的原因是因为PHP无法找到常量,它会发出您看到的警告,然后使用常量名称作为字符串返回
从:
字符串getenv(字符串$varname)
将参数引用到
getenv
getenv('HTTP\u X\u FORWARDED\u FOR')代码>
否则php会认为您正在传递一个常量
string getenv(string$varname)
需要一个字符串
除非您以前将HTTP\u X\u FORWARDED\u定义为一个字符串,我认为这不是您想要的。我得到了访问者的IP地址,它在本地主机上运行良好,但在Web上遇到了问题。这是对相关侧栏上每个问题的重复,在标题中提到“未定义常数…假定”。请,请下次进行尽职调查。好的,我是否应该改为getenv(REMOTE_ADDR)或getenv(“REMOTE_ADDR”)@cnik2125是的,所有对getenv
的调用基本上都是