論網(wǎng)站計數(shù)器及在線人數(shù)統(tǒng)計_第1頁
論網(wǎng)站計數(shù)器及在線人數(shù)統(tǒng)計_第2頁
論網(wǎng)站計數(shù)器及在線人數(shù)統(tǒng)計_第3頁
論網(wǎng)站計數(shù)器及在線人數(shù)統(tǒng)計_第4頁
論網(wǎng)站計數(shù)器及在線人數(shù)統(tǒng)計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

網(wǎng)站計數(shù)器及在線人數(shù)統(tǒng)計1.系統(tǒng)設(shè)計1.1需求分析要求在網(wǎng)頁中實現(xiàn)網(wǎng)站歷史訪問總?cè)藬?shù)以及當(dāng)前在線人數(shù)的統(tǒng)計功能。1.2設(shè)計原理1.2.1網(wǎng)站計數(shù)器統(tǒng)計原理在網(wǎng)絡(luò)上能夠看到各種網(wǎng)站計數(shù)器,這些計數(shù)器盡管千差萬不,但本質(zhì)上差不多上一樣的,其原理大致為:網(wǎng)站的訪問量數(shù)據(jù)保存在服務(wù)器上的一個文本文件或數(shù)據(jù)庫中;掃瞄者訪問包含有計數(shù)器的頁面時,將觸發(fā)計數(shù)程序,程序打開文本文件或查詢數(shù)據(jù)庫獲得訪問都掃瞄之前的計數(shù)數(shù)據(jù),將計數(shù)值加1,在頁面上顯示并寫回文本文件或數(shù)據(jù)庫中。1.2.2在線人數(shù)統(tǒng)計原理統(tǒng)計在線人數(shù)需要用到ASP的Application對象。在ASP中Application對象用于存儲和接收能夠被整個程序所有用戶共享的信息。當(dāng)Web服務(wù)器啟動并開始提供HTTP服務(wù)時,Application_OnStart事件被觸發(fā),初始化Application對象(發(fā)生在第一個Session_OnStart之前),一直到應(yīng)用程序被卸載或者Web服務(wù)器停止服務(wù)的時候,Application_OnEnd事件被觸發(fā)(發(fā)生在最后一個Session_OnEnd事件之后),Application對象被卸載。因此,Application特不適合用來統(tǒng)計當(dāng)前在線人數(shù)。在Application_OnStart時候,將在線人數(shù)初始化為0,后面每個用戶請求訪問,建立會話觸發(fā)Session_OnStart事件的時候,將Application對象統(tǒng)計人數(shù)的變量加1;當(dāng)有會話結(jié)束,Session_OnEnd事件被觸發(fā)的時候,將Application對象統(tǒng)計人數(shù)的變量減1,如此便能夠完成在線人數(shù)統(tǒng)計功能。2.?dāng)?shù)據(jù)庫設(shè)計webCount數(shù)據(jù)表的設(shè)計:首先建一個webcount.mdb數(shù)據(jù)庫,然后再建一個webcount的表,表結(jié)構(gòu)如下圖所示。字段類型長度必填字段同意空值講明Count_id自動編號流水號,主鍵Count_ip文本50YN客戶端IP地址Count_time日期/時刻Y客戶訪問時刻,默認值為NOW()Count_user_agent備注YN客戶端用戶代理3.具體實現(xiàn)過程3.1計數(shù)功能的實現(xiàn)首先打開DW,新建一個名為“count.asp”的“ASPVBScript”的動態(tài)頁面,然后定義數(shù)據(jù)庫連接。單擊“應(yīng)用程序/數(shù)據(jù)庫”面板左上角的“+”按鈕,在彈出菜單中選擇“自定義連接字符串”選項,彈出“自定義連接字符串”對話框,在“連接名稱”文本框內(nèi)輸入“conncount”,在“連接字符串”文本框中輸入以下內(nèi)容:"provider=microsoft.jet.oledb.4.0;data"provider=microsoft.jet.oledb.4.0;datasource="&server.mappath("/myweb/counter/data/webcount.mdb")"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&server.mappath("/myweb/counter/data/webcount.mdb")如圖所示在“Dreamweaver應(yīng)用連接”中選擇“使用服務(wù)器上的驅(qū)動程序”,然后單擊“測試”命令按鈕,能夠查看數(shù)據(jù)庫是否連接成功,假如成功將彈出“成功創(chuàng)建連接腳本”對話框,如圖所示。然后單擊“確定”命令按鈕關(guān)閉對話框。這時在“應(yīng)用程序/數(shù)據(jù)庫”面板里將出現(xiàn)數(shù)據(jù)庫結(jié)構(gòu)信息,如圖所示。接下來,再設(shè)計count.asp頁面,如圖所示。創(chuàng)建記錄集:單擊“應(yīng)用程序/綁定”面板左上角的“+”按鈕,在彈出菜單中選擇“記錄集(查詢)”選項,如圖所示選擇“記錄集(查詢)”后,系統(tǒng)會彈出“記錄集”對話框,然后單擊對話框中的“高級”命令按鈕,彈出記錄集高級設(shè)置對話框,如圖所示。在彈出的“記錄集對話框”的“SQL”中輸入SQL語句,具體設(shè)置如圖所示。如圖所示。然后在SQL文本框中輸入以下SQL語句:SELECTcount(*)+1asctotalFROMwebcount如圖所示然后點擊“測試”按鈕彈出如圖所示對話框,再單擊“確定”按鈕完成記錄集設(shè)置。綁定記錄集:完成了記錄集的設(shè)置后,就要在頁面中綁定記錄集。展開綁定面板中“記錄集(recordset1)”,將記錄集中的ctotal拖動到設(shè)計好的頁面中需要顯示計數(shù)值的位置。綁定記錄集后的頁面如圖所示。插入當(dāng)前訪問用戶數(shù)據(jù)到數(shù)據(jù)庫:單擊“應(yīng)用程序/綁定”面板上左上角的“+”按鈕,在彈出菜單中選擇“命令(預(yù)存過程)”選項,如圖所示。選擇“命令(預(yù)存過程)”選項后,彈出“命令”對話框,如圖所示。在該對話框中進行設(shè)置:名稱——command1,連接——conncount,類型——插入;在“數(shù)據(jù)庫項”里展開要插入數(shù)據(jù)的表“webcount”,選中其中的“count_ip”字段,然后單擊旁邊的“列”按鈕,SQL語句就變?yōu)椤癐NSERTINTOwebcount(count_ip)VALUES()”,如圖所示。在SQL語句中的“VALUES()”輸入“user_ip”,然后單擊“變量”后的“+”按鈕,在“名稱”中輸入“user_ip”,在“運行值”中輸入“request.servervariables('remote_addr')”,如此就完成了對webcount表中插入一條新記錄的變量設(shè)置與賦值,“request.servervariables('remote_addr')”是用來獵取客戶端IP地址的。再同樣的方法設(shè)置獵取客戶端掃瞄器用戶代理字符串,在SQL語句中的“VALUES()”輸入“user_agent”,然后單擊“變量”后的“+”按鈕,在“名稱”中輸入“user_agent”,在“運行值”中輸入“request.servervariables('http_user_agent')”。對count_id和count_time不需要進行賦值,因為前者是自動編號,后者是建立數(shù)據(jù)表時差不多默認其值為“NOW()”。設(shè)置后如圖所示3.2當(dāng)前在線人數(shù)統(tǒng)計在DW中新建一個名為“global.asa”的動態(tài)頁面。輸入如圖所示代碼:輸入以上代碼后,將global.asa保存在網(wǎng)站的根目錄,否則無法在count.asp頁面中顯示在線人數(shù)。在計數(shù)頁面中創(chuàng)建application對象:從global.asa切換到count.asp頁面,單擊“應(yīng)用程序/綁定”面板左上角的“+”按鈕,在彈出菜單中選擇“應(yīng)用程序變量”選項,如圖所示,會彈出如圖所示“應(yīng)用程序變量”對話框。在名稱中輸入“onlineuser”,那個變量確實是在global.asa中定義的,用來統(tǒng)計在線人數(shù)的application變量名稱,在count.asp要顯示變量值時需要引用那個變量。綁定應(yīng)用程序變量到頁面建立好

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論