<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      asp完成在線人數

      [摘要]前兩天有網友問到這個問題,我這里來回答一下。從邏輯上說,這個問題很簡單。那就是來一個用戶,在線人數加一,離開一個用戶,在線人數減一。現在首先需要解決的問題是如何知道用戶的進入和增加。在asp中,用戶...

      前兩天有網友問到這個問題,我這里來回答一下。
      從邏輯上說,這個問題很簡單。那就是來一個用戶,在線人數加一,離開一個用戶,在線人數減一。
      現在首先需要解決的問題是如何知道用戶的進入和增加。

      在asp中,用戶進入訪問頁面的時候,會觸發一個事情,事件名稱是session_onstart,在離開的時候(準確地說,是在一定的時間內沒有訪問頁面數據,缺省的時間是20分鐘),也會觸發一個事件,事件的名稱是session_onend。我們可以在global.asa文件中定義這兩個事件所執行的操作。

      接下來我們需要考慮的問題是,如何讓這個變量對于所有的人都是一樣的(廢話,不一樣那一定不準確)。因此,我們首先想到的就是把在線人數放在一個application變量里。

      到這里,我們需要解決的問題都已經解決了,下面來看看代碼:
      sub session_onstart
      application.lock
      application("onlineusers")=application("onlineusers")+1
      application.unlock
      end sub

      sub session_onend
      application.lock
      application("onlineusers")=application("onlineusers")-1
      application.unlock
      end sub
      在這里有一個小小的問題,那就是,如果用戶是第一個訪問者,由于在線人數變量沒有初始化,所以會出現錯誤的提示。要想解決這個問題,我們需要加上初始化該變量的代碼:
      if isempty(application("onlineusers")) then
      application("onlineusers")=1
      end if
      修改后的代碼如下:
      sub session_onstart
      application.lock
      if isempty(application("onlineusers")) then
      application("onlineusers")=1
      else
      application("onlineusers")=application("onlineusers")+1
      end if
      application.unlock
      end sub

      sub session_onend
      application.lock
      application("onlineusers")=application("onlineusers")-1
      application.unlock
      end sub
      把上面的代碼保存為global.asa,保存在web應用程序根目錄下(必須在根目錄下),然后在頁面的合適位置中使用<%=application("onlineusers")%>就可以了。


      日韩精品一区二区三区高清