• 02-12-2009, 13:47:44
    #1
    PHP'ci arkadaşlar, şu kod nasıl sadeleştirilir?

    Yardımcı olacak arkadaşa şimdiden teşekkürler.

    <?php
    
    if (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "de") {
    echo "Premium";
    }
    
    elseif (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "fr") {
    echo "Premium";
    }
    
    elseif (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "nl") {
    echo "Premium";
    }
    
    elseif (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "pt") {
    echo "Premium";
    }
    
    elseif (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "en") {
    echo "Premium";
    }
    
    elseif (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "es") {
    echo "Premium>";
    }
    
    elseif (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "sv") {
    echo "Premium";
    }
    
    elseif (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2) == "it") {
    echo "Premium";
    }
    
    else {
    echo "More";
    
    }?>
  • 02-12-2009, 13:55:58
    #2
    Üyeliği durduruldu
    in array ile yapabilirsiniz

    if( in_array(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2),array("it","es")) ){
        echo "Premium"; 
    }else{
         echo "More"; 
    }
  • 02-12-2009, 14:00:43
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    in array ile yapabilirsiniz

    if( in_array(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2),array("it","es")) ){
        echo "Premium"; 
    }else{
         echo "More"; 
    }
    Çok teşekkür ederim, hele ki yardım eden siz olduğunuz için daha da çok teşekkür ederim
  • 02-12-2009, 14:01:34
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Her dil için farklı yazı kullanacaksanız bu şekilde yapabilirsiniz daha basit ve hızlı olur, ama Premium yazdığınız bölümler örnek içerik değilde gerçekten bir çok dilde Premium yazacaksa sdemirkeser'in yazdığı kod daha kullanışlı sizin için.

    $language =  substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
    switch ($language) {
        case "de":
            echo "Premium";
            break;
        case "fr":
            echo "Premium";
            break;
        case "nl":
            echo "Premium";
            break;
        case "pt":
            echo "Premium";
            break;
        case "en":
            echo "Premium";
            break;
        case "es":
            echo "Premium";
            break;
        case "sv":
            echo "Premium";
            break;
        case "it":
            echo "Premium";
            break;
        default:
           echo "More";
        break;
    }
  • 02-12-2009, 14:03:21
    #5
    Üyeliği durduruldu
    A3raham adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkür ederim, hele ki yardım eden siz olduğunuz için daha da çok teşekkür ederim
    estagfirullah. daha düzenli görünmesi için dilleri ayar.php gibi bir dosyada bir dizi olarak tanimlarsaniz daha rahat edersiniz kanisindayim
  • 02-12-2009, 14:14:33
    #6
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    in array ile yapabilirsiniz

    if( in_array(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2),array("it","es")) ){
        echo "Premium"; 
    }else{
         echo "More"; 
    }
    NOKProduction adlı üyeden alıntı: mesajı görüntüle
    Her dil için farklı yazı kullanacaksanız bu şekilde yapabilirsiniz daha basit ve hızlı olur, ama Premium yazdığınız bölümler örnek içerik değilde gerçekten bir çok dilde Premium yazacaksa sdemirkeser'in yazdığı kod daha kullanışlı sizin için.

    $language =  substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
    switch ($language) {
        case "de":
            echo "Premium";
            break;
        case "fr":
            echo "Premium";
            break;
        case "nl":
            echo "Premium";
            break;
        case "pt":
            echo "Premium";
            break;
        case "en":
            echo "Premium";
            break;
        case "es":
            echo "Premium";
            break;
        case "sv":
            echo "Premium";
            break;
        case "it":
            echo "Premium";
            break;
        default:
           echo "More";
        break;
    }
    Her dil için değil de, belirttiğim tüm dillere aynı yazıyı gösteriyorum. Ama eğer ki bölünecekse sizin verdiğiniz kodu kullanmak çok daha işlevsel görünüyor. Teşekkürler

    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    estagfirullah. daha düzenli görünmesi için dilleri ayar.php gibi bir dosyada bir dizi olarak tanimlarsaniz daha rahat edersiniz kanisindayim
    Bunları 3 satır alt alta kullansak sürekli sorgulatmada bir hantallık yaşarız. Bir kere değişken atamak istesek ne yapmamız gerekir hocam?

    Misal,

    xxx
    xxx
    xxx
    (bu kısımda kullandık)

    içerikler
    yyy
    yyy
    yyy

    xxx (burada tekrar kullanacağız)
    tekrar dili kontrol etmek ağırlık yaratacak, bir değişkene atamadıysak eğer.
    Bunu nasıl yapabiliriz. (dil.php ile (misal))
  • 02-12-2009, 14:19:54
    #7
    session atarsın ilk önce session u kontrol ettirirsin eğer session boş veya geçersizse tekrar HTTP_ACCEPT_LANGUAGE kontrolü yaparsın.
  • 02-12-2009, 14:30:01
    #8
    Üyeliği durduruldu
    A3raham adlı üyeden alıntı: mesajı görüntüle
    Bunları 3 satır alt alta kullansak sürekli sorgulatmada bir hantallık yaşarız.
    sonuçta veritabanindan vs sorgulatmadiginiz için çokta bir hantalik oluşturacak kod olmamis olur bence. Birakin bilmem kaç milisaniyenin kaçta biri kadar da calissin
  • 02-12-2009, 14:37:17
    #9
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    sonuçta veritabanindan vs sorgulatmadiginiz için çokta bir hantalik oluşturacak kod olmamis olur bence. Birakin bilmem kaç milisaniyenin kaçta biri kadar da calissin


    Teşekkürler.