3 回答

TA貢獻1963條經驗 獲得超6個贊
建議不要用數據庫來做這個功能,因為如果用戶退出時都老老實實的點“退出登錄”的話還行,如果他們直接關閉瀏覽器的話,狀態就無法還原為0了。
應該用Application變量來實現,每當有用戶開啟會話時,變量加1,結束會話時,變量減1。在global.asa中這樣寫:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Application("ActiveUsers") = 0 ' 設置計數初始值
End Sub
Sub Session_OnStart
Session.Timeout = 60' 根據需要,設置超時時間
End Sub
Sub Session_OnEnd
Application.Lock
if Application("ActiveUsers")>0 then Application("ActiveUsers") = Application("ActiveUsers") - 1 ' session關閉時減少來訪者計數
Application.UnLock
End Sub
</SCRIPT>
然后在頁面中顯示Application("ActiveUsers")的值就可以了。

TA貢獻1829條經驗 獲得超13個贊
運用數據庫。select username from user where flag=1
輸出rs("username")
<%
dim rs
Set rs= Server.CreateObject("ADODB.Recordset")
sql="select username from user where flag=1
"
rs.Open sql,conn,1,1
%>
<%do while not rs.eof%>
<table><tr><td>
rs("username")
</td></tr></table>
<%
i=i+1
rs.movenext
loop
rs.close
set rs=nothing
%>
update user

TA貢獻1827條經驗 獲得超4個贊
可以配合session和application的使用
用戶登錄的時候需要驗證信息,可以在這時候更改數據庫的相應字段。然后把這個字段讀出來賦給一個application變量,定時刷新application的顯示就好了
- 3 回答
- 0 關注
- 156 瀏覽
添加回答
舉報