İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü

Kullanıcıya Ait Cevap

adres mdemirci01 profilini göster
Murat Demirci 21.05.2005 04:11:03
En iyi cevap mı ?

Kullandığınız yöntem gayet mantıklı. Başka yöntemlerde var, fakat onlara geçmeden tuhaf olan asıl noktaya değinmekte yarar var.

Bir çerçevenin 15 saniye de bir yenilenmesi normalde ziyaretçi sayısını artırmaz. Sizde artış olması iki nedenden kaynaklanıyor olabilir:

1. Ziyaretçi sayısını yanlış saydırıyor olabilirsiniz. 2. Session timeout’larıyla ilgili bir problem olabilir 3. Cookie’lerle ilgili bir problem olabilir.

Bu hususları kontrol etmenizde fayda var.

Ziyaretçi sayısını saydırmak için öncelikle Coldfusion 7’deki Application.cfc özelliğinden yararlanmanızı tavsiye ederim. Application.cfc içerisinde kullanabileceğiniz onSessionStart ve onSessionEnd metotları her ziyaretçi/oturum açıldığında ve kapandığında otomatik olarak çalışırlar. Bu özellikten yararlanarak "application" skobundaki ziyaretciSayisi adındaki bir değişkeni artırıp azaltarak aktif ziyaretçi sayısını öğrenebilirsiniz. Şimdiye kadarki toplam ziyaretçi sayısını öğrenmek için ise "application" skobun’daki bir değişkeni her oturum açıldığında arttırsınız, oturum kapandığında ise azaltMAzsınız.

Sanırım siz toplam ziyaretçi sayacı yapmak istiyorsunuz. Bunun için Application.cfc’ye de gerek yok. Application.cfm ile de rahatlıkla yapılır:


<cflock scope='application' type='exclusive' timeout='20'>
  <!--- ColdFusion ilk defa çalışıyorsa son sayaç değerini veritabanından alarak başla --->
  <cfif not structKeyExists(application,'ziyaretciSayaci')>
       <cfquery name='sayac' datasource='dsn'>
       select GENEL_SAYAC from ISTATISTIK
       where KAYIT_NO = 1
       </cfquery>
       <cfset application.ziyaretciSayaci = sayac.GENEL_SAYAC />
   </cfif>

  <!--- Bu oturum yeniyse sayaci bir artır --->
  <cfif not structKeyExists(session, 'sayildiMi')>
     <cfset session.sayildiMi = true />
     <cfset application.ziyaretciSayaci = application.ziyaretciSayaci + 1 />
  </cfif>

  <!--- ziyaretçi sayacımızı belli aralıklarla kalıcı olarak kaydetmeliyiz, aksi taktirde sunucu restart olduğunda tüm sayaç değerini kaybedebiliriz! : --->
  <cfif application.ziyaretciSayaci mod 15 eq 0>
     <cfquery datasource='dsn'>
       update ISTATISTIK
             set GENEL_SAYAC = <cfqueryparam cfsqltype='decimal' value='#application.ziyaretciSayaci# />
       where KAYIT_NO = 1
   </cfif>

</cflock>

Kodu test etmediğim için hatalar olabilir, genel fikir vermesi için yazdım. Bu kodu kullanırsanız sayım doğru yapılacaktır. Ancak önce sessionManagement’ı aktif etmelisiniz (bilmeyenler için: <cfapplication> etiketini inceleyin.)

Sayacımızı hallettik. Sonrasında sizin yaptığınız gibi bir frame içerisinde değeri görüntüleyebiliriz. Bunu yapmak için sayac.cfm diye bir .cfm şablonu oluşturup içerisinde:


<cflock scope='application' type='readonly' timeout='10'>
<cfoutput>#application.ziyaretciSayaci#</cfoutput>
</cflock>

kodunu yazmamız yeterli. Sonra da sayfa içerisinde sizin kullandığınız meta etiketini kullanıyoruz, böylece sayfanın son sayaç durumunu görüntülemesini sağlıyoruz.

Bu kadar uzun bir yazıyı konunun bir çok kişi tarafından ilgi duyulan bir konu olması sebebiyle yazdım.

Gelelim sayfa yenileme problemine. Eğer her 15 saniyede bir yeni değerin sayfada ya da frame’de görüntülenmesini istiyorsanız meta etiketi yerine AJAX adı verilen JavaScript yöntemini incelemenizde yarar var. (Bilgi için AJAX JavaScript kelimelerini google’da aratın.) Ayrıca JavaScript’te yazdığınız fonksiyonun periyodik olarak otomatikman çalıştırılmasını sağlayabiliyorsunuz. Böylece frame’i yenileyen bir fonksiyon yazıp, bunu zamanlayarak hiç AJAX olayına girmeden sorunu çözebilirsiniz. (Bilgi için SetTimeOut JavaScript kelimelerini google’da aratabilirsiniz)

iyi çalışmalar,

20/05/2005 - 08:11:07 cevap (4) Okunma : 8622 Bu yazıyı 0 kişi tuttu.

Reload ve Refresh ile online kullanıcı sayısı hesaplama

merhaba, çerçevelerden birindeki bir sayfaya aktif ziyaretçi sayısını gösteren bir kod bloğu ekledim. ancak bu kodlar ziyaretçiye, girdiği andan sonraki girişleri göstermiyor. Kod bloğunu başka bir sayfa olarak kaydettim ve ilgili sayfaya 15 saniyede bir tazeleme için şu kodu ekledim:

<InvalidTag http-equiv='refresh' content='15'>

istediğim şey oldu fakat istemediğim bir şey daha oldu. ilgili sayfadaki reload işlemi kendisini çağıran sayfayı da yeniden yükledi. dolayısıyla aynı çerçevede bulunan sayaç da bu durumdsn etkilendi. yani, ziyaretçi sayısı da her tazelemede artmaya başladı.

kısaca sayfadaki başka değişkenleri etkilemeden aktif ziyaretçi sayısını belli aralıklarla (örneğin 30 saniyede bir) göstermenin bir yolunu öğrenmek istiyorum.

bir de yukarıdaki kodala yapılan tazeleme işlemininin yerine belli aralıklarla bir değişkenin değerini kontrol imkanı var mı acaba?

ilginiz için şimdiden teşekkürler

yeni üyelik | şifremi unuttum

aç-kapa Yarışma Fikir10000 Dijital Pazarlama Fikir Yarışması

Fikir10000 Dijital Pazarlama Fikir Yarışması

ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori: Yarışma

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 16Aralı...
Kategori: Toplantı

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 578 (2 kayıtlı, 576 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul