为什么我在PHP中获得'UNDEFINED INDEX'?

时间:2015-03-01 20:40:19

标签: php

请查看我的代码。

$http_client_ip = $_SERVER['HTTP_CLIENT_IP']; 
$http_x_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR']; 
$remote_addr = $_SERVER['REMOTE_ADDR'];

if(!empty($http_client_ip)) {
    $ip_address = $http_client_ip;
} else if(!empty($http_x_forwarded_for)) {
    $ip_address = $http_x_forwarded_for;
} else {
    $ip_address = $remote_addr;
}

echo "IP Address: {$ip_address}."

一切都应该正常,但我在运行脚本时收到these通知。

我无法理解为什么......我是初学者。提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果$_SERVER没有名为HTTP_CLIENT_IPHTTP_X_FORWARDED_FORREMOTE_ADDR的索引,您将收到此错误。

在访问$_SERVER数组中的其中一个索引之前,应检查该索引是否存在。您可以使用isset()

执行此操作

例如:

if (!isset($_SERVER['HTTP_CLIENT_IP'])) {
    // index doesn't exist, handle error if necessary
}
else {
    // keep going
}