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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論