真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用ASP編寫網(wǎng)站統(tǒng)計(jì)系統(tǒng)

這篇文章主要為大家展示了“怎么用ASP編寫網(wǎng)站統(tǒng)計(jì)系統(tǒng)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“怎么用ASP編寫網(wǎng)站統(tǒng)計(jì)系統(tǒng)”這篇文章吧。

創(chuàng)新互聯(lián)主營蕪湖網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,蕪湖h5微信平臺小程序開發(fā)搭建,蕪湖網(wǎng)站營銷推廣歡迎蕪湖等地區(qū)企業(yè)咨詢

在目前的網(wǎng)站統(tǒng)計(jì)系統(tǒng)決大部分都是CGI的,但編寫起來特別復(fù)雜,而ASP學(xué)起來簡單,更有和數(shù)據(jù)庫結(jié)合的優(yōu)點(diǎn),所以結(jié)合自己曾經(jīng)做過的網(wǎng)站統(tǒng)計(jì)系統(tǒng),和大家探討一下ASP編寫網(wǎng)站統(tǒng)計(jì)系統(tǒng)。

大家都看過網(wǎng)易的網(wǎng)站統(tǒng)計(jì)系統(tǒng),它可以統(tǒng)計(jì)總訪問量,每日平均訪問量,當(dāng)日訪問量,最高訪問量,最高訪問日期,日流量分析,月流量分析,周流量分析,瀏覽器分析,等等。

其實(shí)要做一個(gè)ASP的訪問統(tǒng)計(jì)系統(tǒng)關(guān)鍵是系統(tǒng)表結(jié)構(gòu)的設(shè)計(jì)。以及如何來采集用戶的CGI變量,如何來顯示用戶的信息。也就是說系統(tǒng)的關(guān)鍵是兩個(gè)ASP程序,統(tǒng)計(jì)程序和顯示程序。

首先我們先看看如何來采集用戶的訪問信息。

我們編寫訪問統(tǒng)計(jì)需要知道用戶的如下信息,訪問者的IP(根據(jù)訪問IP可以形成訪問者IP列表),訪問者的瀏覽器與操作系統(tǒng)(統(tǒng)計(jì)訪問者的瀏覽器與操作系統(tǒng)及所有訪問者瀏覽器與操作系統(tǒng)比例圖),訪問者的訪問時(shí)間(進(jìn)行日訪問量分析,月訪問量分析,周訪問量分析),下面我們來看看用ASP的獲得以上信息的語句:

1、獲得訪問者IP

Dim M_IP

M_IP=Request.Servervariables("REMOTE_HOST")

用上面的語句可以取得訪問者的IP。

2、獲得瀏覽器信息

Dim O_Browser,M_BrowserType

Set O_Browser=Server.Createobject("MSWC.BrowserType")

M_BrowserType=O_Browser.Browser+O_Browser.Version

3、獲得訪問時(shí)間

Dim M_DateTime  M_DateTime=Year(Date())&"/"&Right("0"&Month(Date()),2)&"/"Right("0"&Day(Date()),2)&"/"&Right("0"&Hour(Time()),2)&":"&Right("0"&Minute(Time()),2)&":"&Right("0"&Second(Time()),2)

4、取得用戶的操作系統(tǒng)。

在ASP中使用如下語句可以得到訪問者的http_user_agent字符串。

Dim StrUserAgent

StrUserAgent=Request.ServerVariables("HTTP_USER_AGENT")

這個(gè)字符串一般是如下格式:

Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)

上面的字符串可以說明訪問者使用的操作系統(tǒng)是Windows98,瀏覽器是MSIE 4.01,但是這個(gè)字符串格式不固定,而且可以自己更改。

平常我們所見的其它一些主要的UserAgent字符串如下:

使用IE的瀏覽器:

Mozilla/2.0 (compatible; MSIE 3.01; Windows 95)

Mozilla/4.0 (compatible; MSIE 4.0; Windows 95);

Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)

Mozilla/4.0 (compatible; MSIE 5.0; Windows 98);

Mozilla/4.0 (compatible; MSIE 5.0b2; Windows NT)

使用NetScape的瀏覽器:

Mozilla/4.03 〔en〕 (Win95; I)

Mozilla/4.08 〔en〕 (WinNT; U ;Nav)

Mozilla/4.5 〔en〕 (WinNT; U)

Mozilla/3.04Gold (Win95; I)

使用Opera的瀏覽器:

Mozilla/4.0 (compatible; Opera/3.0; Windows 95) 3.50b10

FrontPage編輯器:

Mozilla/2.0 (compatible; MS FrontPage 3.0)

使用Sun操作系統(tǒng):

Mozilla/3.01Gold (X11; I; SunOS 5.7 i86pc)

使用PowerPc的Mac機(jī):

Mozilla/4.0 (compatible; MSIE 4.5; Mac_PowerPC)

通過分析以上字符串,我們可以找出規(guī)律,編寫一個(gè)子程序來判斷訪問者用的是何種操作系統(tǒng),又由于用ASP中的判斷瀏覽器類型的控件需要更新Browser.ini文件,所以我們可以結(jié)合這個(gè)字符串來判斷瀏覽器屬性。

我們以什么樣的方式來統(tǒng)計(jì)網(wǎng)站呢?

我們可以讓用戶在他的主頁上加入如下語句:

<a ><img src="http://www.abc.com/counter.asp?userid=username"></a>上面的userid是具體哪一個(gè)用戶,要注意用戶和訪問者不是一個(gè)概念。

通過上面的字符串我們就可以采集用戶的訪問數(shù)據(jù),并給用戶提供觀看數(shù)據(jù)的鏈接。在我們看加有網(wǎng)易的統(tǒng)計(jì)系統(tǒng)的頁面時(shí)會發(fā)現(xiàn)它會返回給用戶一個(gè)圖標(biāo),我們就可以在counter.asp中實(shí)現(xiàn)這個(gè)功能。

加入:response.redirect "/upload/otherpic58/44758.gif"

這個(gè)語句我們可以加在統(tǒng)計(jì)數(shù)據(jù)采集后返回給用戶。

如何設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)?

設(shè)計(jì)表結(jié)構(gòu)是一項(xiàng)極其重要的工作,它的合理與否與程序的編制緊密相關(guān)。

一個(gè)網(wǎng)站統(tǒng)計(jì)系統(tǒng)應(yīng)該有一個(gè)用戶表,統(tǒng)計(jì)值表。

這個(gè)用戶表也就是保留注冊用戶信息的表,統(tǒng)計(jì)值表就是記錄用戶的每一項(xiàng)統(tǒng)計(jì)指標(biāo)值的表。在統(tǒng)計(jì)值的表中我們可以指定用戶的統(tǒng)計(jì)指標(biāo),我們可把每一個(gè)指標(biāo)用一個(gè)ID值來表示,這里我們簡單舉例。

用戶表:

Table Name:regist_table

Field type

username C 用戶名

password C 密碼

regdate C 注冊時(shí)間

值表:

Table Name:value_table

Field type

username c 用戶名

id c 統(tǒng)計(jì)指標(biāo)ID

value i

datetime c 統(tǒng)計(jì)指標(biāo)的值

Id列表:

Table Name:id_table

Field type

id C 統(tǒng)計(jì)指標(biāo)ID

idvalue C 統(tǒng)計(jì)指標(biāo)的說明

有了這三個(gè)表我們就可以開始做了。

如我們可以指定以下ID

id idvalue

101 總訪問量

201 1日訪問量

202 2日訪問量

: :

: :

231 31日訪問量

要想對用戶開始統(tǒng)計(jì)我們必須得先讓用戶注冊,用戶使用的流程如下:

填注冊表->初始用戶的value表(把對應(yīng)的ID加入)->把注冊信息反饋給用戶

->用戶在自己的頁面上加入鏈接->開始統(tǒng)計(jì)

能采集數(shù)據(jù)我們都能采到了,那么我們就開始編制ASP的統(tǒng)計(jì)頁面。

這一頁我們叫計(jì)數(shù)頁,counter.asp

這段asp代碼我們需要讓它按如下的流程進(jìn)行采集數(shù)據(jù)并保存數(shù)據(jù)和更新數(shù)據(jù):

采集用戶名,判斷用戶名是否合法,采集訪問者的信息,對信息進(jìn)行加工,進(jìn)行保存和更新數(shù)據(jù)庫,返回logo圖標(biāo)。

調(diào)用這個(gè)ASP用counter.asp?user=abc這個(gè)方式。

采集用戶名我們可以用Request對象的相應(yīng)方法取得,然后檢查用戶表判斷用戶是否合法,然后取信息,用我們上面講到的取得相應(yīng)信息的方法取得信息,然后進(jìn)行加工保存在數(shù)據(jù)表里,但最重要的是如何對數(shù)據(jù)進(jìn)行更新,如當(dāng)日每小時(shí)訪問統(tǒng)計(jì)數(shù),當(dāng)天每小時(shí)統(tǒng)計(jì)數(shù)等,我們?nèi)绾螌γ刻斓臄?shù)據(jù)進(jìn)行更新是這個(gè)程式的要點(diǎn),我們可以采取幾種方式,如對每天的每個(gè)小時(shí)的記錄的更新我們采取在每天午夜12點(diǎn)更新,對每月的每一天的數(shù)據(jù)我們在月份切換的那一天進(jìn)行更新。

下面我講一下具體的流程,以月份統(tǒng)計(jì)舉例:

1,得出上一次的統(tǒng)計(jì)的日期時(shí)間

2,得出當(dāng)前的日期時(shí)間,當(dāng)前月份并轉(zhuǎn)化成相應(yīng)的ID

3,判斷當(dāng)前月份與上一次月份是否相同,如果相同則給總數(shù)加1,當(dāng)前月的ID累加1,如不相同則清零所有月份ID,只給總數(shù)ID加1

4,根據(jù)月份統(tǒng)計(jì)我們可以做一下小時(shí)統(tǒng)計(jì),周統(tǒng)計(jì),天統(tǒng)計(jì)。

按如上的流程我們就可以做統(tǒng)計(jì)頁了,要注意每個(gè)ID的分配要分類明確代表的含義要明晰。

以上是“怎么用ASP編寫網(wǎng)站統(tǒng)計(jì)系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當(dāng)前文章:怎么用ASP編寫網(wǎng)站統(tǒng)計(jì)系統(tǒng)
文章轉(zhuǎn)載:http://weahome.cn/article/jdohsp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部