• 08-02-2020, 19:51:59
    #1
    Merhabalar,

    Aşağıda ki kodumuz php 5.6 sürümünde sorunsuz kullanılabiliyor ama php sürümünü 7 ve üzeri yaptığımızda çalışmıyor.
    php.net 'te zaten 7 ve üzeri sürümlerde eregi fonksiyonunun kaldırıldığı yazıyor. Bunun yerine preg_match kullanılabilir diyor ama onu yazdığımızda da doğru sonuç alamıyoruz.

    Aşağıda ki kodu PHP 7 sürümüne uyarlayabilen var mıdır acaba

    <?php
    function ulke($ip) {
    $ulke = file_get_contents("http://ipinfo.io/".$ip."/country");
    return $ulke;
    }
    $ip = $_SERVER['REMOTE_ADDR'];
    $ulke = ulke($ip);
    if(eregi ("TR", $ulke)){
    }else{
    header("Location: domain.com");
    }
    ?>
    İyi çalışmalar.
  • 08-02-2020, 19:53:51
    #2
    Botman, Codemaster
    strpos("TR",$ulke)
    dener misiniz?
  • 08-02-2020, 19:55:42
    #3
    preg_match('/TR/',$ulke)
    şeklinde kontrol sağlanır test ettim
  • 08-02-2020, 19:57:52
    #4
    HelixTm adlı üyeden alıntı: mesajı görüntüle
    strpos("TR",$ulke)
    dener misiniz?
    if(strpos("TR",$ulke)){
    
    }else{
    header("Location: domain.com");
    }
    Eğer ülke TR ise if değerini boş döndürüp hiç bir şey yapmamasını istiyorum ama direk else'i okumaya geçiyor ülke TR olmasına rağmen else içinde ki yönlendirmeyi yapıyor.



    Glob adlı üyeden alıntı: mesajı görüntüle
    preg_match('/TR/',$ulke)
    şeklinde kontrol sağlanır test ettim
    Evet çalıştı çok teşekkür ediyorum
    Desteğiniz için size de çok teşekkürler @HelixTm;
  • 08-02-2020, 20:01:14
    #5
    MajerWeb adlı üyeden alıntı: mesajı görüntüle
    if(strpos("TR",$ulke)){
    
    }else{
    header("Location: domain.com");
    }
    Eğer ülke TR ise if değerini boş döndürüp hiç bir şey yapmamasını istiyorum ama direk else'i okumaya geçiyor ülke TR olmasına rağmen else içinde ki yönlendirmeyi yapıyor.
    hocam strposda yapmanız gereken != false gibi kontrol çünkü sizin inputunuzda TR 0 index numarası ile dönüyor buda ifde kullanılması için false kontrol gerektiriyor



    yavaşlığım ve biraz anlatım bozukluğu için özür dilerim kendim de değilim. yardımcı olduysam ne güzel kolay gelsin
  • 08-02-2020, 20:03:33
    #6
    Botman, Codemaster
    MajerWeb adlı üyeden alıntı: mesajı görüntüle
    if(strpos("TR",$ulke)){
    
    }else{
    header("Location: domain.com");
    }
    Eğer ülke TR ise if değerini boş döndürüp hiç bir şey yapmamasını istiyorum ama direk else'i okumaya geçiyor ülke TR olmasına rağmen else içinde ki yönlendirmeyi yapıyor.





    Evet çalıştı çok teşekkür ediyorum
    Desteğiniz için size de çok teşekkürler @HelixTm;
    Not eklemeyi unutmuşum, strpos true false döndürür, ona göre eşitlemeniz gerekir. @Glob; arkadaşın verdiği kod da işinizi görecektir. İyi çalışmalar.
  • 08-02-2020, 20:07:41
    #7
    HelixTm adlı üyeden alıntı: mesajı görüntüle
    Not eklemeyi unutmuşum, strpos true false döndürür, ona göre eşitlemeniz gerekir. @Glob; arkadaşın verdiği kod da işinizi görecektir. İyi çalışmalar.
    Glob adlı üyeden alıntı: mesajı görüntüle
    hocam strposda yapmanız gereken != false gibi kontrol çünkü sizin inputunuzda TR 0 index numarası ile dönüyor buda ifde kullanılması için false kontrol gerektiriyor

    yavaşlığım ve biraz anlatım bozukluğu için özür dilerim kendim de değilim. yardımcı olduysam ne güzel kolay gelsin
    Estağfurullah yardımlarınız için çok teşekkürler