mehmetduran.com - Paylaşmak Güzeldir...
Asp.net ve Veritabanı ile Ziyaretçi Sayacı Yapımı
Bu yazımda ziyaretçi sayacını nasıl yapabilceğimizden bahsedeceğim ve hazırladığım örneği sizlerle paylaşacağım. Daha önce bu konuda birçok arkadaş soru sormuştu. Ayrıca yaptığım bir uygulamada böyle birşey istendi. Bu yüzden bir örnek hazırladım. İlgilenenler ve kendi istatistiklerini tutmak isteyenler için güzel bir örnek olduğunu düşünüyorum. Hazırladığım örnekte online, günlük, aylık, yıllık ve toplam ziyaretçi sayısını elde ediyoruz. Ancak örneği uyarlayarak saat, dakika, saniye veya belirli periyotlardaki ziyaretçi sayılarını elde edebiliriz. şimdilik sadece günlük, aylık, yıllık ve toplam ziyaretçi sayılarını tutan bir örnek hazırladım. Daha gelişmişini ilgilenenlere bırakalım ve uygulamayı nasıl yapacağımıza bakalım.

Öncelikle uygulamamızın veritabanı yapısını ve çalışır haldeki görüntüsünü vereyim.

Asp.net ve Veritabanı ile Ziyaretçi Sayacı Yapımı
Görüldüğü gibi veritabanımızda verileri tuttuğumuz tablo bu şekilde ve tek satır verimiz var. En optimize olacak şekilde hazırlamaya çalıştım ve böyle bir yapı oluşturdum. Tek satır ile verilerimizi tutabiliyoruz. Bu arada örneğimde Access 2007 veritabanı kullandım. İlk defa bir örneğimde Access 2007 kullanıyorum. Daha önce Access 2003 kullanıyordum. Ayrıca bu şekilde kullanmak için tek satırdaki verilerimizi tablomuzu oluşturduğumuzda girmemiz gerekiyor. Aksi halde hatayla karşılaşabiliriz.

Örneğimizin veritabanı ve görüntüsü bu şekilde. Değerleri değiştirmek için ise bir takım kontroller yapacağız. Bu kontrolleri ise Global.asax dosyamız ile yapacağız. Online ziyaretçi sayısı için Application nesnesini kullanacağız. Birçok sitede online kişi sayısı örneğini görmüşüzdür. Benim uygulamamda da aynı şekilde online kişi sayısını tutuyoruz. Veritabanındaki değerleri artırmak veya değiştirmek için ise Sesssion_Start eventını kullanacağız. Bu event ile her Session başlangıcında veritabanındaki değerlerimizi güncelliyoruz. Şimdi Global.asax dosyamızın kodlarına göz atalım.

<script runat="server">
  void Application_Start(object sender, EventArgs e) 
  {
      Application["online"] = 0;
  }
  void Session_Start(object sender, EventArgs e) 
  {
    Application["online"] = (int)Application["online"] + 1;
 
    string baglanti = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/sayac.accdb") + "; Persist Security Info=False;"; 
    OleDbConnection bg = new OleDbConnection(baglanti);
    OleDbDataAdapter adp = new OleDbDataAdapter("select * from sayac", bg);
    DataTable tablo = new DataTable();
    adp.Fill(tablo);
    string komut = "";
    if (((DateTime)tablo.Rows[0]["tarih"]).Day == DateTime.Now.Day)
    {
      //Gün değişmemiş. Tüm değerleri artırıyoruz.
      //Gün içinde bu komut çalışır.
      komut = "update sayac set gunluk=gunluk+1, aylik=aylik+1, yillik=yillik+1, toplam=toplam+1";
    }
    else 
    {
      //Gün değişmiş ise kontrollerimizi yapıyoruz.
      if (((DateTime)tablo.Rows[0]["tarih"]).Month == DateTime.Now.Month)
      {
          //Gün değişmiş, Ay değişmemiş ise.
          //Hergün bir defa bu komut çalışır.
          komut = "update sayac set tarih='" + DateTime.Now.ToString("dd.MM.yyyy") + "', gunluk=1, aylik=aylik+1, yillik=yillik+1, toplam=toplam+1";
      }
      else
      {
        //Gün, Ay değişmiş ise.
        if (((DateTime)tablo.Rows[0]["tarih"]).Year == DateTime.Now.Year)
        {
            //Gün, Ay değişmiş, ama Yıl aynı ise.
            //Ayda bir defa bu komut çalışır.
            komut = "update sayac set tarih='" + DateTime.Now.ToString("dd.MM.yyyy") + "', gunluk=1, aylik=1, yillik=yillik+1, toplam=toplam+1";
        }
        else
        {
            //Gün, Ay, Yıl değişmiş ise tüm değerleri sıfırlıyoruz.
            //Yılda bir defa bu komut çalışır.
            komut = "update sayac set tarih='" + DateTime.Now.ToString("dd.MM.yyyy") + "', gunluk=1, aylik=1, yillik=1, toplam=toplam+1";
        }
      }
    }
    OleDbCommand cmd = new OleDbCommand(komut, bg);
    bg.Open();
    cmd.ExecuteNonQuery();
    bg.Close();
    Session.Timeout = 5; //5 dk veriyoruz.
  }
  void Session_End(object sender, EventArgs e) 
  {
      Application["online"] = (int)Application["online"] - 1;
  }
</script>

Görüldüğü gibi Session_Start eventı ile işlemlerimiz yapıyoruz. Ayrıca en son satırda Sessiom.Timeout özelliğine bir süre verip bu süre içinde Session_Start eventının tekrar çalışmasını engellemiş oluyoruz.

Burada en önemli noktalardan biri veritabanında tuttğumuz 'tarih' değeri. Tüm karşılaştırma ve güncelleme işlemlerini bu değer üzerinden yapıyoruz. Ayrıca isteyenler saat, dakika, saniye gibi zaman süreçleri için de veriler tutabilir. Bunun için veritabanımızı da uyarlamak gerekir.

Ayrıca tüm verileri saklamak isteyenler (ay, yıl değişimi sonrası bir önceki verileri tutmak isteyenler) bu değişimi kontrol ederek önce tablodan verileri alıp, daha sonra buradaki değer sıfırlamalıdır.Önceki değeri de başka bir veritabanı tablomuzda tutabiliriz. Böylece kapsamlı bir istatistik servisi hazırlayabiliriz.

Verileri veritabanından çekip istediğimiz sayfada görüntüleyebiliriz. Benim yaptığım örneğin görüntüsü yukarıda vermiş olduğum gibi. Ayrıca ziyaretçilerin gezdikleri sayfaları veya diğer bilgilerini de yine Global.asax dosyamız yardımı ile elde edebiliriz. Bu konuda daha önce yazmış olduğum yazılara (buradan ve buradan) göz atabilirsiniz.

Hazırladığım örneği buradan indirebilirsiniz.

İyi Çalışmalar.
Mehmet Duran 14 Temmuz Salı 2009 44 48402 4,7
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Asp.net ile ve Jquery Ajax ile Kur (Döviz) Bilgilerini Alma Foundations of Asp.net Ajax (E-Book) Jquery ve Ajax ile FaceBox Kullanımı Blog Tutmaya Başlayalı 1 Yıl Oldu Bloğumda Kullandığım SiteMap Sınıfı
Yorumlar
Yorum Yaz
RSS Yorum Takibi
erman kara 14 Temmuz Salı 2009 17:38 #1
hocam senin sitende ki gibi makalelerin okuma sayısını tutmam gerekiyor.Sitende ki makalelere baktım ama anlayamadım yardımcı olursan sevinirim.Sen siten de nasıl bi uygulama geliştirdin.İyi çalışmalar.
Mehmet Duran 14 Temmuz Salı 2009 20:06 #2
Merhaba. Bunun için sitemde makaleleri gösterdiğim sayfada gösterilen her makale için bir Session oluşturuyorum ve bu Session`u kontrol ediyorum. Eğer kullanıcı siteme girdiğinde Session boş ise hem Session'u dolduruyorum hem okunma sayısını artırıyorum. Session süresi dolana dek kullanıcı gelen kadar okunma sayısı artmıyor. Bu şekilde bir kontrol var. Burada sorduğun konuyla ilgili yazımı ve örneği bulabilirsin.
erman kara 15 Temmuz Çarşamba 2009 00:51 #3
hocam yardım için teşekkürler.senin sayende pek çok şey öğrendim.Teşekkürü bir borç bilirim.Şu MVC konusunu senin sitenden de takip ediyorum ama yapı kafam da bir türlü oluşmadı bunla ilgili daha detaylı makale yayınlarsan sevinirim yada önereceğin bir kaynak var mı? Çalışmalarında başarılar.
Mehmet Duran 15 Temmuz Çarşamba 2009 00:57 #4
MVC konusunda neler yazacağımı belirledim ama zamanım olmadığı için oturup yazamıyorum. Fırsat buldukça hepsini paylaşacağım. Ancak yazılarımın çoğu yine uygulama ağırlıklı olacak. MVC için internet sitelerini ve blogları takip ediyorum. Elimde bir kaynak yok. MVC ile örnek yapmayı dene. Bu şekilde yapıyı anlayabilirsin.
zsk 16 Temmuz Perşembe 2009 00:54 #5
Ziyaretci tum cookie bilgilerini silip tekrar siteye giris yaparsa ziyaretci sayisi fazladan 1 kisi olmaz mi?
Mehmet Duran 16 Temmuz Perşembe 2009 01:01 #6
Merhaba. Sorduğunuz güzel bir soru ancak burada cookie kontrolü yok. Kullandığımız event Session_Start eventı. Kullanıcı tarayıcısıyla bir session başlattığında bu kodlar çalışır ve kullanıcı tarayıcısı ile sayfayı kapatmadıkça ve Session.Timeout süresini aşmadıkça kodlar bir daha çalışmaz. Ancak bu bile yeterli olmayabilir. Bunun için IP kontrolü, Cookie kontrolü veya başka bir kontrol yapılabilir. Burada önemli olan sayaç yapımı. Dediğin kontrol olayı geliştirene kalmış. İstediği bir yöntem ile kontorülünü yapar.
bellagio 01 Ağustos Cumartesi 2009 23:09 #7
hocam session_start event çalışmadan online sayısı 1 olarak gözüküyor ben sitenin admin panelinden takip etmek istedim istatistikleri fakat admin panelini açtığım zaman online session oturum açmadan 1 olarak gözüküyor neden olabilir ????
Mehmet Duran 01 Ağustos Cumartesi 2009 23:52 #8
Oturum açmadan kastın login olmak ise online kullanıcı sayısını login olduktan sonra artırmalısın. Global.asax dosyasında session_start eventı ile login olma durumunun ilgisi yok. Session_start eventı tarayıcı siteyi açtığında çalışır. Eğer kullanıcı login olup bu sayıyı kontrol edeceksen login olma sırasında çalışan bir kod yazmalısın.
bellagio 02 Ağustos Pazar 2009 00:21 #9
tmm hocam konu anlaşılmıştır tşk ederim
Baha 29 Ağustos Cumartesi 2009 23:44 #10
Ya üstad olağanüstüsün allah razı olsun çok faydalı bilgiler veriyorsun
Serdar 18 Eylül Cuma 2009 23:29 #11
hocam merhaba, datalistte yayınladıım verilerin altına 2 adet linkbutton koyuyorum yine datalistin içinde, beğen beğenme butonları istiyorumki beğene tıklayınca veritabanında beğenildi true yapsın ve enabledları false olsun. bunun için ItemCommand da CommandName lerinden e leri yakaladım fakat enabled yapamıyorum yol gösterir misiniz, teşekkürler...
Mehmet Duran 19 Eylül Cumartesi 2009 05:29 #12
Merhaba. Öyle bir uygulamada enabled değerini veritabanından aldığına göre veritabanında yaptığın değişim sonucu datalist'e aktaradığın verileri yenilemelisin. Yani datalisti tekrar data ile yüklemelisin.
Serdar 19 Eylül Cumartesi 2009 15:36 #13
begene tıklarsa veritabanındaki begenildiMi 1 oluyor begenmedimee tıklarsa begenilmediMi kolonu. Bu durumda user giriş yaptığında id sini sessiona atıyorum istiyorumki, eğer o sessiondaki üye o makale id'm için butonlardan birine bastıysa ikiside false olsun. Kendi bloğumu kodlamaya çalışıyorum da hocam anasayfaya özetleri datalistle çektim içinde commandName'lerle bunu yapmaya çalışıyorum. Eğer bu yol sağlıklı değilse bir başka yol öneriniz var mı? Teşekkürler.
Mehmet Duran 19 Eylül Cumartesi 2009 23:50 #14
Öyle birşeyi herhangi bir event ile uğraşmadan Ajax ile çok rahat yapmak mümkün. Ayrıca efekt ve görsellik ile de zenginlik katılabilir. Eğer yapabilirsen bu şekilde yap. Sitemde Ajax ile oylama uygulaması buna benzer bir uygulama. Eğer uyarlayabilirsen o şekilde kullanım senin için daha iyi olur. (Buradan ve buradan faydalanabilirsin.)
Murat Kara 14 Aralık Pazartesi 2009 18:45 #15
Mehmet kardeşim bu makalen çok faydalı oldu ama bi yeri tam anlayamadım... session_timeout ' a 5 dk verip session_start eventının tekrar çalışmasını engellemiş olmanın mantığı nedir? yani 5 dakikada bir mi bu sayaç tablosu kendini güncellemiş mi oluyo? burayı tam kavrayamadım...
Mehmet Duran 15 Aralık Salı 2009 15:09 #16
Merhaba. Burada Session için bir süre vermenin amacı ziyaretçi siteye girdiğinde session başlar ve sayaç işler. Eğer 5 dakika vermiş isek bu sürede ziyaretçinin her işleminde sayaç tekrar işlemeyecektir. Daha kısa verirsek sayaç bir ziyaretçi için birden fazla çalışabilir. Gerçekçi bir sayaç değeri için böyle bir seçim yaptım.
Mahsun 22 Aralık Salı 2009 16:59 #17
Merhaba Mehmet bey, güzel bir uygulama, PC'mde sorunsuz sayaç çalışıyor, ancak Server'e attığımda cmd.ExecuteNonQuery(); hatası veriyor ve güncelenebilir olmalı diyor. Bu sorunu çözemedim. Sen ilgilenirsen sevinirim.
Mehmet Duran 22 Aralık Salı 2009 17:12 #18
Veritabanı olarak Access kullanıyorsan server tarafında bu veritabanına yazma izni vermelisin. Aksi halde tüm veri girme işlemlerinde aynı hatayla karşılaşırsın.
mustafa 18 Ocak Pazartesi 2010 22:43 #19
herkeste nasil calisyor bu kodlar anlamiyorum 2 gundur ugrasiyom almadigim hata kalmadi en son alinan hata ise bu :
{"There is no row at position 0."}
{Cannot evaluate expression because the code of the current method is optimized.}
if (((DateTime)tablo.Rows[0]["tarih"]).Day == DateTime.Now.Day)
Mehmet Duran 18 Ocak Pazartesi 2010 22:50 #20
Sitemde paylaştığım kodların hepsini çalışan örnek üzerinden paylaşırım. Bu da bu örneklerden biri. Aldığın hataya bakacak olursak da kullandığın sorgu sonucu ya sonuç dönmüyor ya da girdiğin sütun değeri yok. Uygulamaya geçmeden önce mümkünse veritabanı sorgularını deneyip, sorgu sonuçlarını görmen daha iyi olur.
Mustafa 19 Ocak Salı 2010 06:18 #21
Operation must use an updateable query Exception Details: System.Data.OleDb.OleDbException: Operation must use an updateable query. Line 56: OleDbCommand cmd = new OleDbCommand(komut, bg); Line 57: bg.Open(); Line 58: cmd.ExecuteNonQuery(); Line 59: bg.Close(); Line 60: en son geldigim nokta burasi
Mehmet Duran 19 Ocak Salı 2010 08:19 #22
Bu hatayı almamak için kullandığın veritabanına yazma izni vermelisin. Yazma izni olmadığı için bu hatayı alıyorsun.
mustafa 21 Ocak Perşembe 2010 16:26 #23
yazma izni vermeyi cok denedim internnete arattim ve denilen her turlu yazma iznini vermeye calistim ama olmadi ayni hatayi almaya devam ediyorum windows 7 kullaniyorum burdan nasil yazma izini verebilecegim hakkinda bilgi verirmisin ?
Mehmet Duran 21 Ocak Perşembe 2010 20:12 #24
Eğer IIS üzerinden yapacaksan dosya görünümüne geçip izin verilecek dosyayı seçip izinleri düzenleme bölümünden kullanıcılar için izinleri düzenleyebilirsin. Direk windows üzerinde yönetici isen dosyaya sağa tıklayıp, izinler bölümünden de ayarlayabilirsin. İki işlem de aynı.
ismail 09 Şubat Salı 2010 23:14 #25
mehmet bey, bu uygulamanın vb için olanı yok mu?
Mehmet Duran 10 Şubat Çarşamba 2010 00:18 #26
Maalesef yok ama kodların satır satır okunarak vb'ye çevrilebileceğini düşünüyorum.
muslum 18 Şubat Perşembe 2010 01:03 #27
Mehmet bey tşk ederim bilgilerinizi paylaştığınız için. Güzel bir makale olmuş fakat yanılıyorsam bağışlayın ama sizcede bu sayac hatalı çalışmaz mı? çünkü session_timeout belirtmezseniz kullanıcı siteyi gezerken sayac artacaktır sessiona 5 dk verirseniz 5 dk içinde 10 kişide girse online hep 1 kalacaktır benim uygulamamda bu şekilde bir sıkıntı oluyor benmi yanlış yaptım acaba ilgilenirseniz sevinirim. kolaylıklar diliyorum
Mehmet Duran 18 Şubat Perşembe 2010 01:11 #28
Yazdığım kodlarda Session_Start eventının son satırlarında söylemiş olduğun timeout değerini belirttim. Ayrıca Session_End eventı ile de online sayısı birer birer azaltılıyor. Kodları incelemeden yazdın sanırım.
muslum 18 Şubat Perşembe 2010 19:26 #29
Hayır inceledim hatta uyguladım ve belirttiğim problem ortaya çıktı. 5 dk boyunca kaç kişi girerse girsin online kullanıcı sayısı değişmiyor 1 olarak kalıyor çünkü oturum sonlanmıyor ancak 5 dk sonra artıyor.
Mehmet Duran 18 Şubat Perşembe 2010 23:06 #30
Kodda timeout'a 5 dk süre verdim ben. Eğer sen de bu şekilde verdiysen söylediğin normal. Süreyi uzatarak gereksiz artışı engeleyebilirsin. Ancak illa seesion ile yapmaya gerek yok. Cookie ile de kullanıcının daha önce girip girmediğini tutabilirsin.
muslum 21 Şubat Pazar 2010 23:22 #31
İlginiz için teşekkür ederim kolaylıklar diliyorum.
ŞAŞMAZ 11 Haziran Cuma 2010 20:22 #32
Bu kodu sitemde kullandım ama gün değişince cmd.executenonquery satında hata veriyor.Örneğin veritabanında tarih 10/06/2010 ama sistem tarihi 11/06/2010 ise kod çalışmıyor.tarihi gidpp veritabınından elle 11/06/2010 yapınca kod hatasız çalışıyor bu hatayı nasıl düzeltebilirim.
Mehmet Duran 12 Haziran Cumartesi 2010 12:02 #33
Merhaba. Eğer böyle hata alıyorsan tarih formatı ile ilgili bir sıkıntı olabilir. Break point ile veritabanına sorgu gönderilmeden önce sorgunun ne olduğuna bakıp değerlerin doğru olup olmadığını kontrol edersen sorunun ne olduğunu bulabilirsin. Büyük ihtimalle tarih formatı ile ilgili bir sıkıntıdır diye düşünüyorum.
mehmet balık 28 Aralık Salı 2010 19:48 #34
bu sayacı asp olan sitemizde kullanabilirmiyiz. bir sorun olurmu.
Mehmet Duran 06 Ocak Perşembe 2011 11:25 #35
@mehmet, aynı şeyi direk olarak asp sitesi ile beraber kullanmada sıkıntı olabilir. Ancak aynı mantıkla Asp'deki global.asa dosyasında aynı eventları oluşturabilir ve komutları çalıştırabilirsin.
osman gültepe 11 Ocak Salı 2011 23:06 #36
- Veri tabanını 2003 e çevirdim(farklı kayıt et menüsünden)
- App_Data klasörü içine attım.
- Baglantı cümleciğini "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" şeklinde güncellemdim.
- En son olarakda Tarih Server inglizce olunduğundan DateTime.Now.ToString("yyyy-MM-dd") şeklinde güncelledim ve çalıştı :)
Sizde sakin kafayla yapın olacaktır... 2 ay önce bende yapamamıştım :D :D :D
cem tezer 27 Ocak Perşembe 2011 13:55 #37
Hocam sorunum bir page yapısı var sayfa yapısında sırası söyle önce user login olur, müşteri no arama yapar, sonra musteri varsa hesap seçer, sonra tarih aralığı seçer ve pdf e ekstreyi basar şimdi bu düzgün çalışıyor ama benden login yapmam söylendi bende sessionla yaptım, log da tutuyorum. sorunum şu, user girdikten sonra işlem yapıyor sonra pdf yazdırıyr. sonra tekrar başka işlem yapınca bundan önceki bilgiler geliyr. mesela seçtiğim hesap siyah oluyor seçtiğim tarih kalıyor neden olabilir.
Mehmet Duran 04 Şubat Cuma 2011 16:02 #38
@cem, bu sorun için sayfaların yapısını, kodlarını, session'da tutğunu verileri görmek lazım. Aksi halde tam olarak sorunun ne olduğuu anlamak zor. Verileri set ettiğin veya tuttuğun sessionlar var ise onlara dikkat etmek lazım.
enes taş 05 Şubat Cumartesi 2011 23:08 #39
abi ben bu sayacı yaptım. ms sql server 2005 database kullandım. local de çalışırken sorun yok. fakat siteye koyduğumda günlük ve aylık hep 1 olarak kalıyor. yıllık ve toplam da sorun yok. yardımcı olurmusun
Mehmet Duran 08 Nisan Cuma 2011 21:54 #40
@enes, tarih işlemlerinde sıkıntı olabilir. Bunun için sunucuda boş bir sayfada değerleri kontrol edebilir ve sorunu görebilirsin.
ethem 10 Nisan Pazar 2011 23:36 #41
merhaba mehmet bey ziyaret sayacını oluşturdum ama aldığım hata şu:"cmd.ExecuteNonQuery();" gün tarihi veritabanındaki ile aynı ise çalışır ama farklı ise çalışmıyor,yani sistem tarihi değiştiği zaman gün olarak :"cmd.ExecuteNonQuery();" bu hatayı alıyorum... her gün veritabanındaki tarihi elle düzeltmek zorunda kalıyorum... oda bütün verilerin aynı olmasına neden oluyor? bi türlü çözemedim yardımcı olursanız çok sevinirim... teşekkürler..
Mehmet Duran 12 Nisan Salı 2011 08:35 #42
@ethem, paylaştığım kodlarda bunun kontrolü mevcut. Eğer gün değişmiş ise veritabanında tutulan tarih değerini de güncelliyorum. Acaba sen burayı atlıyor musun? O satırda hata veriyorsa sorguda da hata olabilir. Ancak sorunu tam olarak anlamak için debug yapabilirsin.
Serkan 13 Nisan Çarşamba 2011 11:06 #43
mehmet kardeşim teşekkürler çok başarılı bir anlatım olmuş. ama bir sorunum var sayaçı yaptım problemsiz çalışıyor ama bir yerde bir problem var sitede online olan sayısını 300-500-800 kafasına göre veriyor bunu gören site sahibi ise çok mutlu sitemi bukadar kişi ziyaret ediyor diye ama hata olduğunu bilmiyor şuan acaba ne gibi problem olmuş olabilir ?
Mehmet Duran 14 Nisan Perşembe 2011 13:15 #44
@Serkan, söylemiş olduğun problemin nedeni Session_Start eventından kaynaklanıyor. Burada kullanıcı isteği geldiğinde session start çalışır. Ancak sonraki isteklerde bu eventın çalışmaması gerekir. (session patlamadığı sürece) Ancak çalıştığı için bu sıkıntı oluyor. Bunun için yapılacak yöntemlerden biri kullanıcının tarayıcısına bir cookie koyup onun kontrolünü yapmak olabilir. Bu çok daha net sayı verir. Ancak cookie ile oynanırsa sorunlar olabilir. Bir başka yöntem ise kullanıcıların bağlandıkları tarihi ve IP'lerini loglamak ve onlar üzerinden sorgulama yapmak olabilir. Ancak çok kullanıcı alan bir sistem ise sıkıntılar olabilir. Ama cookie en mantıklı çözüm yolu. Fırsat bulduğumda bloğumdaki sıkıntıyı da bu yolla çözeceğim.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Kimse sana senden iyi öğüt veremez.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009