Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Sahte online sayaç

Konu, 'PHP' kısmında zatilgan tarafından paylaşıldı.

  1. zatilgan

    zatilgan Üye

    Kayıt:
    2 Ağustos 2013
    Mesajlar:
    61
    Beğenilen Mesajlar:
    0
    Ödev olarak bana sahte sayaç yapma ödevi verildi. öyle bir altigroma kurmam lazım ki gerçek sayaç gibi algılanmalı. bunu nasıl yapabilirim.
     
  2. opera

    opera Daimi Üye

    Kayıt:
    17 Kasım 2007
    Mesajlar:
    553
    Beğenilen Mesajlar:
    0
    Meslek:
    Developer
    Şehir:
    Pütürge
    Sahte sayaçtan kastın algoritmasının bozuk olması mı, yoksa aslında var olmayan değeri gösterip, incelendiği takdirde (örneğin bir website sayacı) gerçekçi çalıştığı mı düşünülmeli?

    Ücretsiz web sayaçları var, ve birçoğunu istediğin sayıdan başlatabiliyorsun. Ama sonra klasik sayaç mantığıyla çalışıyor. Bu da aslında sahte bir sayaç oluyor.

    Yani;

    Sayacın Başladığı Değerini ve zamanı kimse bilemeyeceğinden, istediğin gibi başlatabilirsin.

    Ama ondan sonra, eğer saniye bağlıysa saniye üzerinden, visitora bağlıysa visitor üzerinden ++ ilerleyerek gider.

    Aradığın sayaç nasıl birşey, örneği var mı bu konuda da bir bilgi verirsen, örnek bir kod paylaşabilirim seninle.

    teşekkürler
     
  3. zatilgan

    zatilgan Üye

    Kayıt:
    2 Ağustos 2013
    Mesajlar:
    61
    Beğenilen Mesajlar:
    0
    hocam şöyle dedi. sayaç online kullanıcı sayısını gösterecek yani geçmişe dönük kayıt falan tutmayacak o an sitede kaç kişi var ise onu sayacak ama şöyle devam etti. ben siteden çıkıp girdiğimde (anlık) sayaç sayısı değişmemeli her sayfa yenilendiğinde sayaç sayısı değişmemeli. geceleri giren sayısı az olduğundan geceleri daha az kullanıcı göstermeli. ayrıca sabit bir kullanıcı sayısı el ile girilip o kullanıcı sayısı (referans kullanıcı) üzerinden tüm işlemleri yapmalı. böyle bir şey gerekiyor.
     
  4. zatilgan

    zatilgan Üye

    Kayıt:
    2 Ağustos 2013
    Mesajlar:
    61
    Beğenilen Mesajlar:
    0
    arkadaşlar yardımcı olacak kimse yokmu
     
  5. opera

    opera Daimi Üye

    Kayıt:
    17 Kasım 2007
    Mesajlar:
    553
    Beğenilen Mesajlar:
    0
    Meslek:
    Developer
    Şehir:
    Pütürge
    merhaba,

    şöyle yapacaksın,

    *veritabanında visitor tablon olacak, integer total sayi tutacaksın içinde,
    *sayfada session kontrolüyle(her yüklendiğinde çalışmaması için, sadece ilk session aldığında çalışacak), sayfa yüklendiğinde, 1 defaya mahsus visitor tablosuna +1 update yapacaksın,
    - örneğin başlangıç değeri 300 girdin, sayfa yüklendiğinde, yazacağın sql sorgun +1 update edecek, 301 olacak,

    Günün belirli saatlerini switch ya da if ile kontrol ederek, bu sorguya +50, -50 ekleyebilirsin.
    Mesela, Gece 00:00 Sabah 08:00 arasına veya akşam yoğun olan 15:00 - 20:00 saatlerine.
    Daha hassas birşey istiyorsan saatlik bazda -10,+10 küçük değerlerle oyna.

    Bu sayede total de o an kaç kişi var onu anlamana gerek kalmadan,
    Istediğin bir sayı üzerinden mantıklı bir artış yapmış olacaksın.

    Kod yazmadım, algoritmasını çıkarmakta zor değil ama istediğin için yazdım.
    Benim bahsettiğim yapıda veritabanı kullanmadan internette sayısız çalışan kod / örnek var,

    mesela;
    http://www.wikihow.com/Make-a-PHP-Hit-Counter

    burada image'da create ediyor rakama göre,

    http://hibbard.eu/how-to-make-a-simple-visitor-counter-using-php/
     
  6. zatilgan

    zatilgan Üye

    Kayıt:
    2 Ağustos 2013
    Mesajlar:
    61
    Beğenilen Mesajlar:
    0
    teşekkürler hocam, şöyle birşey yaptım ama ek birşeyler daha koymak istiyorum.
    mesela saat 15 gibi biri siteye girdi. o anki random değeri bir text e yazsa ve bir sonraki saat gelene kadar her kullanıcıyı onun üstüne yazsa

    atıyorum saatı 15:10 da siteye 1 kişi girdi
    random olarak sisteme 80 ile 100 vermişiz sistem 86 verse ve text e yazsa saat 16 ya kadar olan ziyaretçileri tek tek
    86+1 her ziyaretçi için text e yazsa saat 16 olduğunda ve bir ziyaretçi geldiğinde tekrar random yapıp o ve 16 saatindeki ziyaretçileri de üstüne +1 olarak eklese bu koda ne gibi bir ekleme yapmalıyım ve böyle bir şey mümkünmü


    <?php
    $saat=date("H");
    switch ($saat){
    case 00: $ilk=10;$son=20;break;
    case 01: $ilk=1;$son=15;break;
    case 03: $ilk=1;$son=15;break;
    case 04: $ilk=1;$son=10;break;
    case 05: $ilk=1;$son=10;break;
    case 06: $ilk=1;$son=10;break;
    case 07: $ilk=1;$son=20;break;
    case 08: $ilk=10;$son=20;break;
    case 09: $ilk=20;$son=30;break;
    case 10: $ilk=30;$son=50;break;
    case 11: $ilk=30;$son=60;break;
    case 12: $ilk=40;$son=70;break;
    case 13: $ilk=60;$son=85;break;
    case 14: $ilk=65;$son=100;break;
    case 15: $ilk=80;$son=100;break;
    case 16: $ilk=80;$son=110;break;
    case 17: $ilk=90;$son=120;break;
    case 18: $ilk=90;$son=125;break;
    case 19: $ilk=100;$son=150;break;
    case 20: $ilk=80;$son=100;break;
    case 21: $ilk=60;$son=80;break;
    case 22: $ilk=40;$son=60;break;
    case 23: $ilk=20;$son=35;break;
    }
    echo $suan=rand($ilk, $son);
    ?>

     
  7. opera

    opera Daimi Üye

    Kayıt:
    17 Kasım 2007
    Mesajlar:
    553
    Beğenilen Mesajlar:
    0
    Meslek:
    Developer
    Şehir:
    Pütürge
    Merhaba

    yapmak istediğin tam olarak ne bu kodun üstüne, db ya da texte kayıt etmesini mi istiyorsun yoksa case içerisine bir koşul daha ekleyip, normal akıştan farklı bir iş daha mı yaptırmak istiyorsun?
     
  8. zatilgan

    zatilgan Üye

    Kayıt:
    2 Ağustos 2013
    Mesajlar:
    61
    Beğenilen Mesajlar:
    0
    atıyorum saat 15:10 da siteye 1 kişi girdi
    sistem random olarak 86 verdi diyelim ve bu değeri text e yazdırsak saat 16:00 a kadar olan ziyaretçileri +1 olarak 86 nın üstüne eklese, saat 16 olduğunda ve bir ziyaretçi geldiğinde tekrar random değer verip 16 saatindeki ziyaretçileri de önceki text i boşaltıp 16da verdiği random değerin üstüne +1 olarak eklese bu koda ne gibi bir ekleme yapmalıyım ve böyle bir şey mümkünmü
     
  9. opera

    opera Daimi Üye

    Kayıt:
    17 Kasım 2007
    Mesajlar:
    553
    Beğenilen Mesajlar:
    0
    Meslek:
    Developer
    Şehir:
    Pütürge
    Merhaba
    kodunun en altına şu şekilde eklersen belirli bir saat olduğunda, text dosyasının içini temizler, else tarafında da gelen kayıdı eklemeye devam eder.

    PHP:
        if($saat == 11){       
             
    $filePath fopen"stats.txt""a" );        
             
    ftruncate($filePath0);        
             
    fclose($filePath);      
           } 
           else 
          {       
             
    $filePath fopen"stats.txt""a" );        
             
    fwrite($filePath"$suan // $saat // \n");        
             
    fclose($filePath);      
          }