Örneğin anasayfamız index.asp diyelim. Anasayfamızda online kullanıcı sayısını göstermek istiyoruz. İşte aşağıdaki kodlarla bu işlemi yapabilirsiniz. Kodları ayrı bir editör ile kaydedin. Sonra anasayfanıza include ederek tadını çıkarın : ) Aspye yeni başlayanlar olabilir ince ince anlatayim:
Aşağıdaki kodları bir text editöre (Notepad olabilir) kopyalayın. Dosyayı online.asp olarak kaydedin. Daha sonra index.asp olan anasayfanıza şu şekilde ekleyin.
<!-- #include file="online.asp" -->
İşlem tamamlandi ; )
Yeni bir ipucuyla görüşmek üzere..
<%
Sub LogActiveUser
Dim strActiveUserList
Dim intUserStart, intUserEnd
Dim strUser
Dim strDate
strActiveUserList = Application("ActiveUserList")
If Instr(1, strActiveUserList, Session.SessionID) > 0 Then
Application.Lock
intUserStart = Instr(1, strActiveUserList, Session.SessionID)
intUserEnd = Instr(intUserStart, strActiveUserList, "|")
strUser = Mid(strActiveUserList, intUserStart, intUserEnd - intUserStart)
strActiveUserList = Replace(strActiveUserList, strUser, Session.SessionID & ":" & Now())
Application("ActiveUserList") = strActiveUserList
Application.UnLock
Else
Application.Lock
Application("ActiveUsers") = CInt(Application("ActiveUsers")) + 1
Application("ActiveUserList") = Application("ActiveUserList") & Session.SessionID & ":" & Now() & "|"
Application.UnLock
End If
End Sub
Sub ActiveUserCleanup
Dim ix
Dim intUsers
Dim strActiveUserList
Dim aActiveUsers
Dim intActiveUserCleanupTime
Dim intActiveUserTimeout
intActiveUserCleanupTime = 10
intActiveUserTimeout = 20
If Application("ActiveUserList") = "" Then Exit Sub
If DateDiff("n", Application("ActiveUsersLastCleanup"), Now()) > intActiveUserCleanupTime Then
Application.Lock
Application("ActiveUsersLastCleanup") = Now()
Application.Unlock
intUsers = 0
strActiveUserList = Application("ActiveUserList")
strActiveUserList = Left(strActiveUserList, Len(strActiveUserList) - 1)
aActiveUsers = Split(strActiveUserList, "|")
For ix = 0 To UBound(aActiveUsers)
If DateDiff("n", Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), ":") + 1, Len(aActiveUsers(ix))), Now()) > intActiveUserTimeout Then
aActiveUsers(ix) = "XXXX"
Else
intUsers = intUsers + 1
End If
Next
strActiveUserList = Join(aActiveUsers, "|") & "|"
strActiveUserList = Replace(strActiveUserList, "XXXX|", "")
Application.Lock
Application("ActiveUserList") = strActiveUserList
Application("ActiveUsers") = intUsers
Application.UnLock
End If
End Sub
%>
<%
Call LogActiveUser()
Call ActiveUserCleanup()
Response.Write "" & Application("ActiveUsers") & ""
%>