PDA

View Full Version : آمار کاربران آنلاین(فوری)



h-gh
جمعه 22 مهر 1384, 09:18 صبح
سلام دوستان
من برای وب سایتم تعداد کاربران آنلاین را احتیاج دارم. از کد زیر استفاده کردم ولی فقط تعداد کاربران اضافه می شه. لطفا منو راهنمایی کنید. خواهشا زودتر چون آبروی کاریم در خطره.


<!------------global.asa------------------>
<script language="vbscript" runat="server">
Sub Application_OnStart
Application("visitors")=0
End Sub

Sub Session_OnStart
Application.Lock
Application("visitors")=Application("visitors")+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("visitors")=Application("visitors")-1
Application.UnLock
End Sub
Sub Application_OnEnd
Application("visitors")=0
End Sub
</script>




<!------------visitors.asp------------------>

<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
<p>
There are <%response.write(Application("visitors"))%>
online now!
</p>
</BODY>
</HTML>

aliramazani
شنبه 23 مهر 1384, 11:47 صبح
سلام. برای اینکه بتوانی تعداد افراد آنلاین را در سایتت نشان بدی اپتدا باید یک صفحه به نام online.asp ایجاد کنی و دستورات زیر را در آن قرار دهی.



<%

'Set and dimension variables
Dim intUsers
Dim intPosition
Dim blnUserFound
Dim intRemoveRow
dim strSessionID
dim aryUserCount
strSessionID = Session.SessionID

'Check if the array exists
If IsArray(Application("UserCount")) Then
aryUserCount = Application("UserCount")
Else
ReDim aryUserCount(2,1)
End If

'Check for users position
For intPosition = 1 TO UBound(aryUserCount, 2)
If aryUserCount(1, intPosition) = Session.SessionID Then
blnUserFound = True
Exit For
End If
Next

'Update records if user found
If blnUserFound = True Then
aryUserCount(2, intPosition) = Now()

'Create a new record if not
Else
ReDim Preserve aryUserCount(2, UBound(aryUserCount, 2) + 1)
aryUserCount(1, UBound(aryUserCount, 2)) = Session.SessionID
aryUserCount(2, UBound(aryUserCount, 2)) = Now()
End If

'Remove old users from count
For intRemoveRow = 1 TO UBound(aryUserCount, 2)
If DateDiff("s", aryUserCount(2, intRemoveRow), Now()) >= 120 Then
aryUserCount(1, intRemoveRow) = aryUserCount(1, UBound(aryUserCount, 2))
aryUserCount(2, intRemoveRow) = aryUserCount(2, UBound(aryUserCount, 2))
ReDim Preserve aryUserCount(2, UBound(aryUserCount, 2) - 1)
Exit For
End If
Next

'Update the application variable
Application.Lock
Application("UserCount") = aryUserCount
Application.Unlock

'Find the number of users on page
intUsers = UBound(aryUserCount, 2)
%>


سپس در صفحه ای که قصد داری تعداد افراد آنلاین نشان داده شوند این کد را قرار بده:



<!--#include file="online.asp"-->
<% Response.Write(intUsers & " user(s) are currently active on this website") %>


به همین راحتی. :چشمک:

h-gh
دوشنبه 25 مهر 1384, 09:07 صبح
از اینکه پاسخم را دادی ممنونم. امیداوارم همیشه و همه جا کارت راه بیفته. در ضمن سایتتون را هم دیدم . سایت پر محتوایی به نظر می رسه. می خوام عضو شم.

aliramazani
چهارشنبه 27 مهر 1384, 15:31 عصر
از اینکه پاسخم را دادی ممنونم. امیداوارم همیشه و همه جا کارت راه بیفته. در ضمن سایتتون را هم دیدم . سایت پر محتوایی به نظر می رسه. می خوام عضو شم.


دوست عزیز من فقط وظیفه ام را انجام دادم. من هر کاری از دستم بر بیاد حاضرم انجام بدم. :بامزه: