if (getenv('HTTP_CLIENT_IP')) {
$publicip = getenv('HTTP_CLIENT_IP');
} else if(getenv('HTTP_X_FORWARDED_FOR')) {
$publicip = getenv('HTTP_X_FORWARDED_FOR');
} else if(getenv('HTTP_X_FORWARDED')) {
$publicip = getenv('HTTP_X_FORWARDED');
} else if(getenv('HTTP_FORWARDED_FOR')) {
$publicip = getenv('HTTP_FORWARDED_FOR');
} else if(getenv('HTTP_FORWARDED')) {
$publicip = getenv('HTTP_FORWARDED');
} else {
$localip = getenv('REMOTE_ADDR');
}yukarıdaki kod $publicip yi null döndürüyor hata nerede tşk.
php ile ip adresi çekme
3
●83
- 13-03-2021, 15:00:41
- 13-03-2021, 15:03:40eşleşen veri olmadığı için else içerisinde geliyor ancak burada veriyi localip içerisine atıyorsunuz muhtemelen ondan dolayı hata alıyorsunuz. Benim kod betiğim ektedir.
function GetIP(){ if(getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP"); } elseif(getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR"); if (strstr($ip, ',')) { $tmp = explode (',', $ip); $ip = trim($tmp[0]); } } else { $ip = getenv("REMOTE_ADDR"); } return $ip; } - 13-03-2021, 15:03:48Ben aşağıdaki kodu kullanıyorum. Her zaman doğru ip adresini veriyor.
function GetIP(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP']; }elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }else{ $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } - 13-03-2021, 15:04:18gurdeniz adlı üyeden alıntı: mesajı görüntüle
birde bunu dene istersen.
https://stackoverflow.com/questions/13646690/how-to-get-real-ip-from-visitor/13646848