Gönderen Konu: Online Üyeler  (Okunma sayısı 2703 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı OLCAY

  • _ByKuS_
  • Admin
  • *
  • İleti: 8917
  • Rep Gücü : 674
  • Cinsiyet: Bay
  • O şimdi ****EVLİ****
    • Profili Görüntüle
    • boyacı
Online Üyeler
« : Ekim 01, 2007, 01:40:27 ÖS »

Bu uygulamada kayıtlı üyelerimizin aktif olup olmadığının nasıl gösterildiğini sıralayalım.

Veritabanımızda uyeler adında tablo olsun ve id(autonumber),username(text),songiris(date/time) adında 3 tane alan adımız olsun.

Üye girişi yapıldığı zaman üyemizin adını session("user") adına bağlamamız lazımki ona göre her sayfamızda güncelleme yapacağız.

<%
' baglantim degiskenindeki veritabanı bağlantınız buraya

Session.LCID = 1033

set RS = server.createobject("ADODB.Recordset")
sql = "select * from uyeler where kadi = '" & user & "' "
RS.open sql,baglantim,1,3

if not RS.eof then
RS("son_tarih")=now()
RS.update
end if

RS.close
set RS = nothing
Session.LCID = 1055
%>

Kullanıcı adını session("user")'a göre seçim yapıp songiris adlı alanımızdaki tarihe şimdiki zaman'ı alıyoruz.
NOT : Bu üstteki kodumuz her sayfanızın başında olmalıdı.Diğer sayfalarda olmazsa yenileme yapılamazsa kullanıcı sitede olduğu halde olmadığı gösterilir.


şimdi ise online kullanıcılarımızı ekrana yazdıralım.


<%
Session.LCID = 1033
tarih1 = now()
tarih2 = DateAdd("n" , -5, Now())

set RS1 = server.createobject("ADODB.Recordset")
sql2 = "select * from uyeler where songiris between #" & tarih1 & "# and #" & tarih2 & "# "
RS1.open sql2,baglantim,1,3

do while not RS1.eof
response.write RS1("username") & ", "
RS1.movenext
loop

Session.LCID = 1055
%>

Bu kod ilede ekrana hangi üyelerin aktif olduğunu yansıttık.
Mantığı basittir.Siz her sayfada üyenin son giriş tarihini veritabanındaki songiris adlı alan'a yazdırıyorsunuz.Sonra ekrana şimdi ile 5 dk öncesi arasındaki kullanıcıları ekrana yazdırıyorsunuz.

Eğer mysql ve mssql veritabanı kullanıyorsanız session.lcid satırlarını kullanmanıza gerek yok.