• 13-10-2009, 19:43:35
    #1
    istediğim olay şu: siteye giren kişinin işletim sistemi vista ise, a klasöründeki appleti, vista dışı herhangi bir işletim sistemiyse b klasöründeki appleti çalıştıracak. mümkünmüdür bu?
  • 13-10-2009, 20:15:24
    #2
    $_ENV['OS'] var ama XPde ve vistada aynı sonucu veriyor, Windows_NT. Windows - Linux kıyaslamasında kullanmıştım.

    if(strpos($_ENV['OS'],"Windows") == TRUE) 
    {
       //echo 'windows bu';
    }

    Ama 1 saniye, $_SERVER['HTTP_USER_AGENT'] den çıkarabiliriz Vistayı.

    <?php
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE) 
    {
        echo 'Windows XP';
    }
    else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.1') == TRUE) 
    {
        echo 'Windows 7';
    }
    ?>
    XP ve win 7 vardı, vista da NT 6.0 olsa gerek.

    .
  • 13-10-2009, 20:22:07
    #3
    sağol hocam. hemen deniyorum.
  • 13-10-2009, 20:27:27
    #4
    Yalnız, user agent güvenilir değildir, tarayıcı tarafından kolayca spoof edilebiliyor, bunu unutma.
  • 13-10-2009, 20:33:03
    #5
    Alexis adlı üyeden alıntı: mesajı görüntüle
    Yalnız, user agent güvenilir değildir, tarayıcı tarafından kolayca spoof edilebiliyor, bunu unutma.
    spoof dediğinden kastın olduğundan farklı göstermekse o çokta sorun değil. kullanıcının estetiğini bozmaması açısından böyle istedim ben. xp de çıkacak applette xp görüntüsü, vistada çıkacak applette vista görüntüsü olacak. peki son olarak şunuda isteyeyim, 2 işletim sisteminede tanımlama yaptık tamam, peki bunlar dışındaki tüm işletim sistemlerine default tanımlama yapmamız mümkünmü?
  • 13-10-2009, 20:51:11
    #6
    O da kolay, yalnız vistam yok, win7 yazıyorum. Vista 6.0 olması gerek. if yerine switch te kullanabilirsin seçenekler çoğalacaksa.

    <?php
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE)
    {
        echo 'Windows XP';
    }
    else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.1') == TRUE)
    {
        echo 'Windows 7';
    }
    else
    {
       echo 'XP ve win7 dışında herşey';
    }
    ?>
    .
  • 13-10-2009, 21:29:14
    #7
    tekrar teşekkürler hocam. vista dediğin gibi 6.0 bunuda dipnot olarak ekleyip kesinleştirmiş olayım.

    birde şu kodda nasıl bir hata var onu anlayamadım.

    <?php
    switch($chat
    ) {
    case
    "Flaxchat"
    :
    ?>
    <applet name="Flaxchat" code="flaxchat.FlaxChat.class"
    archive ="flaxchat.jar,flaxchess.jar,flaxdraw.jar,flaxf lot a.jar,flaxttt.jar,flaxgammon.jar"
    width ="100%"
    height ="400"
    codebase = http://irc.aaaa">
    <param name="CABBASE" value="flaxchat.cab">
    <param name="ident" value="flaxchat">
    <param name="fullname" value="Flaxchat">
    <param name="nickname" value="">
    <param name="Channel1" value="#sohbet,#oyun">
    <p>Java uygulaması kurulu değil.Java yuklemek icin <a href="http://www.flaxchat.com/?getjava">chat applet</a></p>
    </applet>
    <?php
    break;
    case
    "Eschat"
    :
    ?>
    <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.aaaa/eschat/esChat.jar"
    codeBase ="http://irc.aaaa/eschat/"
    width ="550"
    height ="300">
    <param name="CABBASE" value="http://irc.aaaa/eschat/esChat.cab">
    </applet>
    <?php
    break;
    default:
    ?>
    <br>
    <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.aaaa/eschat/esChat.jar"
    codeBase ="http://irc.aaaa/eschat/"
    width ="550"
    height ="300">
    <param name="CABBASE" value="http://irc.aaaa/eschat/esChat.cab">
    </applet>
    <?php
    }
    ?>


    bu kod şu; anasayfadaki formda tanımlanan yerden eschat yada flaxchat i seçiyosun, seçimine göre bu koddaki appleti çalıştırıyor. ancak anasayfada formu gerektiği gibi ayarlamama rağmen, her şartta sadece default seçeneğini, yani eschati çalıştırıp, flaxchat i görmezden geliyor. acaba flaxchat in formdaki değeri ile burdaki break değeri farklımı diye kontrol ettim, onlarda aynı. son olarak bu koddaki sorunu çözebilirmiyiz?
  • 13-10-2009, 23:55:20
    #8
    post edilen veriyi alman gerekir, yani $chat = $_POST['sayfa'] gibi..
  • 14-10-2009, 15:58:49
    #9
    kodu önce userın anasayfada istediği appleti seçeceği, sonrada seçtiği appletlerin işletim sistemine göre tanımladığım versiyonlarını (yukarıda istediğimi) halettim. ancak daha önce çalışan <?php echo $_POST['nick'];?> çalışmamaya başladı. bunu nasıl aşabilecem peki? kodun tamamı aşağıda:
    <?php
    switch($chat) {
    case "Flaxchat":
    ?>
    <applet name="Flaxchat" code="flaxchat.FlaxChat.class"
    archive ="flaxchat.jar,flaxchess.jar,flaxdraw.jar,flaxf lot a.jar,flaxttt.jar,flaxgammon.jar"
    width ="100%"
    height ="400"
    codebase = "Xxx.org">
    <param name="CABBASE" value="flaxchat.cab">
    <param name="ident" value="flaxchat">
    <param name="fullname" value="Flaxchat">
    <param name="nickname" value="<?php echo $_POST['nick'];?>">
    <param name="Channel1" value="#sohbet,#oyun">
    <p>Java uygulamas&yacute; kurulu de&eth;il.Java yuklemek icin <a href="http://www.flaxchat.com/?getjava">chat applet</a></p>
    </applet>
    <?php
    break;
    case "Eschat":
    ?>
    <?php
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE)
    {
    echo ' <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar"
    codeBase ="http://irc.xxx.gen.tr/eschat36/"
    width ="100%"
    height ="100%">
    <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab">
    <param name="ident" value="sohpetweb">
    <param name="fullname" value="Sohpet Web User">
    <param name="nickname" value="<?php echo $_POST['nick']; ?>">
    <param name="password" type="password" value="">
    <param name="ASL" value="">
    <param name="Channel1" value="">
    </applet>';
    }
    else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.0') == TRUE)
    {
    echo ' <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.xxx.gen.tr/eschat/esChat.jar"
    codeBase ="http://irc.xxx.gen.tr/eschat/"
    width ="100%"
    height ="100%">
    <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat/esChat.cab">
    <param name="ident" value="sohpetweb">
    <param name="fullname" value="Sohpet Web User">
    <param name="nickname" value="<?php echo $_POST['nick']; ?>">
    <param name="password" type="password" value="">
    <param name="ASL" value="">
    <param name="Channel1" value="">
    </applet>';
    }
    else
    {
    echo ' <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar"
    codeBase ="http://irc.xxx.gen.tr/eschat36/"
    width ="100%"
    height ="100%">
    <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab">
    <param name="ident" value="sohpetweb">
    <param name="fullname" value="Sohpet Web User">
    <param name="nickname" value="<?php echo $_POST['nick']; ?>">
    <param name="password" type="password" value="">
    <param name="ASL" value="">
    <param name="Channel1" value="">
    </applet>';
    }
    ?>
    <?php
    break;
    default:
    ?>
    <br>
    <?php
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE)
    {
    echo ' <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar"
    codeBase ="http://irc.xxx.gen.tr/eschat36/"
    width ="100%"
    height ="100%">
    <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab">
    <param name="ident" value="sohpetweb">
    <param name="fullname" value="Sohpet Web User">
    <param name="nickname" value="<?php echo $_POST['nick']; ?>">
    <param name="password" type="password" value="">
    <param name="ASL" value="">
    <param name="Channel1" value="">
    </applet>';
    }
    else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.0') == TRUE)
    {
    echo ' <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.xxx.gen.tr/eschat/esChat.jar"
    codeBase ="http://irc.xxx.gen.tr/eschat/"
    width ="100%"
    height ="100%">
    <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat/esChat.cab">
    <param name="ident" value="sohpetweb">
    <param name="fullname" value="Sohpet Web User">
    <param name="nickname" value="<?php echo $_POST['nick']; ?>">
    <param name="password" type="password" value="">
    <param name="ASL" value="">
    <param name="Channel1" value="">
    </applet>';
    }
    else
    {
    echo ' <applet name ="esChat"
    code ="esChat.class"
    archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar"
    codeBase ="http://irc.xxx.gen.tr/eschat36/"
    width ="100%"
    height ="100%">
    <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab">
    <param name="ident" value="sohpetweb">
    <param name="fullname" value="Sohpet Web User">
    <param name="nickname" value="<?php echo $_POST['nick']; ?>">
    <param name="password" type="password" value="">
    <param name="ASL" value="">
    <param name="Channel1" value="">
    </applet>';
    }
    ?>
    <?php
    }
    ?>