如何完整纪录站内所有网页点选次数
2008-02-23 09:28:47来源:互联网 阅读 ()
数据库表格及字段名称定义如下:
HITS
网页 文字
1号 数字
2号 数字
3号 数字
4号 数字
5号 数字
6号 数字
7号 数字
8号 数字
9号 数字
10号 数字
11号 数字
12号 数字
13号 数字
14号 数字
15号 数字
16号 数字
17号 数字
18号 数字
19号 数字
20号 数字
21号 数字
22号 数字
23号 数字
24号 数字
25号 数字
26号 数字
27号 数字
28号 数字
29号 数字
30号 数字
31号 数字
档案包含有三个档案,一个是执行流量统计的Hits.asp,一个是纪录日志文件是否已经寄给
网站管理者的文字验证档案Mailed.txt,最后就是纪录流量统计的日志档案Hits.Log:程序流程部分如下如所示
我们现在就来看看Hits.asp
Hits.asp
<%'指定数据库路径
Dim stats
stats = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/asp/state/stats.mdb") & ";DefaultDir=" & Server.MapPath("/asp/state") & ";DriverId=25;FILE=MS Access;MaxBufferSize=512;PageTimeout=5"%>
<html>
<head>
<title>流量统计表</title>
</head>
<body text="#000000" bgcolor="#FFFFFF">
<!-- #INCLUDE FILE="adovbs.inc" -->
<%
Dim todaysDate
'将网页名称以Session变量取代
'将目前日期传给todaysDate变量
session("Page")="1"
todaysDate = day(now())
'********************************************
' 如果今天是1号的话,就将纪录日志文件是否已经寄给网站
'管理者的文字验证档案之内容读出,并传给Mailed变量
'********************************************
if todaysDate = "1" then
Dim objFSO, objTextFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("C:\inetpub\wwwroot\asp\stateMailed.txt")
Do While Not objTextFile.AtEndOfStream
Mailed = objTextFile.ReadLine
Loop
objTextFile.Close
Set objTextFile = Nothing
Set objFSO = Nothing
'如果日志文件还没寄出
If Mailed = "0" then
Dim objRec
Dim objConn
Dim txtSubject
'建立数据库连结并开启数据库
Set objConn = Server.CreateObject ("ADODB.Connection")
Set objRec = Server.CreateObject ("ADODB.Recordset")
objConn.Open stats
MySQL="Select * From Stats"
objRec.Open MySQL, objConn, adOpenKeyset, adLockReadOnly
'呼叫Email子程序,将日志文件内容传给txtSubject变量
txtSubject = Email(objRec)
' 呼叫LogFile子程序,将日志文件内容写入日志文件
LogFile(txtSubject)
' 呼叫EmailTo子程序,将日志文件内容寄给网站管理者
EmailTo(txtSubject)
' 呼叫dBaseClear子程序,将数据库内容全部归零
dBaseClear()
'**************************************
'Email子程序
'**************************************
Function Email(objRec)
Dim strT
Dim total
Dim fldF
'将总数归0
total = 0
intFields = objRec.Fields.Count - 1
While not ObjRec.Eof
For Each fld in ObjRec.Fields
If Not fld.Name="ID" Then
'除了ID字段之外,将其它字段名称、字段值依序列出
'fld.Name(字段名称),fld.Value(字段值)
'并将月份加在字段名称和字段值之前然后传给strt变量
strT = strT & MonthName(month(date())) & " " & fld.Name &_
": " & fld.Value & VbCrLf
'计算总点选次数,并传给Total变量
total = total fld.Value
End if
Next
strT = VbCrLf & strT & VbCrLf
objRec.MoveNext
Wend
'将strT变量经过适当的格式化再输出
strT = strT & VbCrLf & "总点选次数 " & MonthName(month(date())) &_
" " & year(now()) & ": " & total & VbCrLf & VbCrLf
Email = strT
End Function
'***********************************
' LOGFile子程序,将strT变量值写入日志文件
'***********************************
Function LogFile(txtSubject)
Const ForAppending = 8
Dim strLogFileName
'*********************************************
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash