Asp De Online Üye Olayı ??
-
bi üyelik sistemi var dielim burdaki online üyeleri nasıl bi ekrana yazdırabilirim yada bir üyenin online offline olduqunu nası göstereblrm :S
-
<%
suana = DateAdd("n",-60,Now())
Set uye = Server.CreateObjecT("ADODB.RecordSet")
rSQL = "Select * From uyeler Where online >= '" & suana & "' order by online desc"
uye.open rSQL,vtb,3,3
Do While not uye.Eof
a = datediff("n", uye("online"), now())
if a <= 60 then
%>
<tr>
<td width="33%"<%=hucre0%>><img src="img/icon/online.png"><a href='uyeler.asp?uye=gor&id=<%=uye("id")%>' class="renk"><%=uye("nick")%></font></td>
<td width="33%"<%=hucre0%>><font class="y1"> <%response.write "En son "&a&" dakika önce işlem gerçekleştirdi"%></font></td>
<td width="34%"<%=hucre0%>><font class="y1"> <%=uye("baks")%></font></td>
</tr>
<%end if
uye.Movenext
Loop%>wallahi ben şu kodlarla yaptım fakat ya serverdanyada kodlardan kafasına göre davranıyor bazen hiç bişey göstermyior bazen herşey gösteriyordu.if a <= 60 then yapınca gösterdiği büyük rakamları engelledim fakat bazen sitedeonline olsam dahi göstermeye biliyor :)
-
neye göre ayarlayacağına bağlı
online = 1 / 0
şeklinde yaparsan kişi çıkış yapmadan penere kapatrsa gte gelirsin
global.asa ile yaparsan anında kesin sonuçlar alamazsın
en iyisi üyelerin sitedeki her hareketini dbye kaydetmek. mesela her sayfada includelu bi sayfa olsun ust.asp gibi ust.asp'de
rs("songiris") = now() şeklinde ya da db.execute("update uyeler SET songiris=getdate() / now() where id=...") şeklinde artık nasıl istersen update edeceksin sonra listeleyeceğin yerde son hareketleriyle şimdiki zamn arasındaki fark 5dk ya da 10dk dan az olanları listeleyeceksn..
çıkış sayfasına da mesela 5 dk'ları listeliyosan
rs("songiris") = dateadd("n", -6, now()) şeklinde update yapacaksın ki kişi son 5 dk içindekilere dahil olmasın çünkü çıktı..
Ben bu şekilde listeliyorum.. çıkış yapmadan pencere kapatanlar da kaç dakikaya ayarlamışsam mesela 5 ise en fazla 5 dk o listede kalıyolar sonra 5dk geçtiği için siliniyolar listeden..
bununla ilgili ayrıntılı bilgi vermiştim birine lazım olmuştu ama hangi konuda unuttum :F
-
alp hocam bana vemriştin uzunn uzzuuunnn anlatmıştın forumda arayın bulursunuz. detaylıca :D
-
Algoritma:
Veritabanına kullanıcının son giriş tarihi yazılır. Son giriş tarihi her yenileme veya sayfa değiştirmede tazelenir. Online üyeleri sayarken o anın 5 dakika aralığında giriş yapmış kullanıcıları saydırırsınız. online üyeleri bulursunuz. şimdi çevrimiçi olayı içinde son giriş tarihiyle o anki tarih arasında 5 dklık zaman hesaplanır ona göre yazılır..
