• Forum vBulletin altyapısından Xenforo altyapısına geçirildi, bu sebeple eski şifreleriniz ile foruma giriş yapamayacaksınız, parolamı unuttum adımından mailiniz ile şifre sıfırlayarak giriş yapabilirsiniz.

    Üyeliklerinde geçerli bir mail adresi olmadığı için sıfırlama yapamayacak kullanıcılar forum kullanıcı adlarını ve yeni şifrelerini yazarak info@maxigame.org adresine şifre sıfırlamak istediklerine dair bir mail göndersinler şifrelerini sıfırlayıp mail adreslerini güncelleyeceğiz. Şifreniz sıfırlandıktan sonra foruma giriş yapıp tekrar istediğiniz gibi değiştirebilirsiniz.

Php IP adresi çekme

Keep Calm Party On

Daimi Üye
Aktiflik
K.Tarihi
17 Ağu 2013
Mesajlar
77
Puanı
4
Herkese iyi günler arkadaşlar

php ile bir log veritabanı hazırlıyorum kullanıcının oturum bilgilerini tarih saat vs gerekli bütün bilgileri çektim fakat ip adresinde sorun yaşıyorum

php.net Türkçe kaynakta bu komut ile ip adresini ekrana yazıdırabilirsiniz demişler 2 koduda denedim fakat ekran çıktısı ::1 şeklinde oluyor veritabanına geçerken sorun olmaz diye düşündüm fakat ordada aynı şekilde kayit oluyor nerde hata yapıyor olabilirim ?

::1

kodlar aşağıdaki gibidir

<?php
echo $_SERVER['REMOTE_ADDR'];
?>

<?php
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;
}
echo $ip_adresi = GetIP();
?>
 
Son düzenleme:
::1 ipv6 formatında, localhost demek. Yani 127.0.0.1 demek.

Senin gelen ipleri ipv4e çevirmen lazım. Yanlış hatırlamıyorsam inet_pton() fonksiyonu bu görevi görüyordu. Veya php.ini'den de bir ipv4/ipv6 kullanım ayarı olabilir.

Kolay gelsin

SM-N9005 cihazımdan Tapatalk kullanılarak gönderildi
 
::1 ipv6 formatında, localhost demek. Yani 127.0.0.1 demek.

Senin gelen ipleri ipv4e çevirmen lazım. Yanlış hatırlamıyorsam inet_pton() fonksiyonu bu görevi görüyordu. Veya php.ini'den de bir ipv4/ipv6 kullanım ayarı olabilir.

Kolay gelsin

SM-N9005 cihazımdan Tapatalk kullanılarak gönderildi

::1 in localhost anlamına geldiğini şimdi öğrendim +1 bilgi :) şimdi bu demek oluyor ki yukarıdaki kod ile pcnin 192.168 ile başlayan local ip adresini değil modemin çıkış için verdiği ttnet de 88. ile başlayan ip adresini alıyor öyle mi hocam ? yani başka bir pcden bağlandığında ordada local olarak almaz deme bu adresi ?
 
Son düzenleme:
normal web hostinge koyarsan .php dosyasını ve tarayıcından girersen ['REMOTE_ADDR'] her zaman external ipyi yani ttnetin verdiği 88 ile başlayan ipyi verir, kullanabilirsin.
 
Php ip Alma Kodu:

PHP:
<?php
echo $_SERVER['REMOTE_ADDR'];
?>

Fonksiyon Kodları:


PHP:
<?php
    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;
    }
?>

Kullanımı:

PHP:
$ip_adresi = GetIP();// "echo GetIP();" diyerek ekrana da yazdırabilirsiniz.
 
Geri
Üst