• 09-09-2010, 12:38:55
    #1
    Merhabalar

    function kontrol(){
    static $kontrol=1;
    $kontrol++;
    echo $kontrol;
    }

    5 kere bu kontrolu çağırıyorum hepsınde bana 2 veriyor benım bıldıgım static kullandıgım zaman tekrar 1 olmaması gerekirdi karıştırdım mı acaba ?
  • 10-09-2010, 02:36:36
    #2
    Doğru biliyorsun, her seferinde artması gerekirdi. Aynı kodu localhost'umda denedim doğru çalışıyor, php çekirdeğinde bir problem olabilir.
  • 10-09-2010, 08:03:25
    #3
    Üyeliği durduruldu
    on tanimli deger vermezseniz normal calisir. on tanimli deger verdiginiz icin mevcut degerin uzerine yaziyorsunuz zaten

    function kontrol(){
          static $kontrol;
          $kontrol = isset($kontrol) ? $kontrol : 1;
          $kontrol++;
          echo $kontrol;
    }
    seklinde duzeltilebilri kodlariniz
  • 10-09-2010, 08:15:21
    #4
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    on tanimli deger vermezseniz normal calisir. on tanimli deger verdiginiz icin mevcut degerin uzerine yaziyorsunuz zaten

    function kontrol(){
          static $kontrol;
          $kontrol = isset($kontrol) ? $kontrol : 1;
          $kontrol++;
          echo $kontrol;
    }
    seklinde duzeltilebilri kodlariniz
    static kullanıldığında problem olmaması gerek? Ben de denedim yoktu zaten. Php.net'teki örneklerde bile bu şekilde kullanımlar var. Bence arkadaşın problemi başka bir şey olmalı. Verdiğiniz kodlarla işini halletse bile, kendi yazdığı kodlar çalışmadığına göre bir problemi var demek.
  • 10-09-2010, 10:09:35
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Araştırmaların sonucu hâlâ static'in ne işe yaradığını çözemedim. Acaba nedir nedir?
  • 10-09-2010, 10:49:20
    #6
    Üyeliği durduruldu
    <?php
    function test(){
    
    // burada ekrana 1 basmaktadır. sebebi ise static ön tanımlı 0 dır ekrana yazdırma ise arttırımdan sonra yapılmaktadır.
    static $a = 0;
        $a++;
        echo $a;
    
    
    // burada ise static 0 dır ekrana basıldığında tekrar 0 yazmaktadır.
    static $a = 0;
        echo $a;
        $a++;
    
    
    }
    
    ?>
  • 10-09-2010, 15:02:17
    #7
    gkaradagan adlı üyeden alıntı: mesajı görüntüle
    Merhabalar

    function kontrol(){
    static $kontrol=1;
    $kontrol++;
    echo $kontrol;
    }

    5 kere bu kontrolu çağırıyorum hepsınde bana 2 veriyor benım bıldıgım static kullandıgım zaman tekrar 1 olmaması gerekirdi karıştırdım mı acaba ?
    yaşadığın sorunu tam olarak anlamadım ben, ekrana nasıl bir çıktı gelmesini istiyorsun ?
  • 10-09-2010, 15:12:08
    #8
    Hocam şimdi anladım ki benım kodumda bir problem yok ben logic hatası yapmısım malasef :S

    Yapmak istediğimi anlatıyım sizlere vbulletinde 5 kere yanlıs giris yapıldıgında 10 dk bekletiyor sizi giriş için buna benzer bişi yapayım dedım

    Kodum Aslında çalışıyor ama function sureklı çağırmak gerekiyor sayfa ,ama sayfayı yenilediğim zaman kod tekrardan 1 oluyor :S
    Session kullanarak deneyım dedım ama gene aynı şekilde 1 oluyor
  • 10-09-2010, 15:44:19
    #9
    niye fonksiyonla uğraşıyorsun ki o zaman ? db de bir field aç hataliloginsayisi diye her hata da 1 arttır orayı, 5 oldugunda işlemlerini yaptır ve 0 la tekrar o alanı