愤怒的大鸟 发表于 2015-1-16 23:22:33

ASP网页编程之怎样完全记录站内一切网页点选次数

因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。网页人人看到这个题目应当蛮镇静的吧,我终究能够具有一份完全的站内流量统计了,没错,笔者明天就要率领人人将这个坚苦的
事情完成,我要在这里申明的是假如你想要作统计的网页数目十分复杂,那你就得在每个网页的一开首将这个程序含进
(Include),不外我能够告知你这是值得的,由于这一份流量统计表能够完全记录全部月的流量统计,而不单单是明天和今天
罢了,我信任你必定很乐意听到我这么说吧!!!由于我也很乐意可让人人不用藉由一些高贵的流量统计程序就可以做到相似
的效果,实在流量统计的体例有良多种,假如你只想针对某一个网页作统计,那末友原因事的流量统计程序算是一个蛮不错的
小程序,复杂又小气,假如你想对站内一切的网页作流量统计,但你只想记录网页扫瞄总数,那你能够参考本站做法,利用
Response.Redirect(从头导向的体例来处置),从头导向的体例很复杂,起首你必需在数据库创建一个索引字段(ID),然后还
有一个字段贮存网页的超等链接地点(URL),再加上一个贮存点选次数的字段Hits,接着使用一个从头导向的小程序
Redirect.asp将参数值传送进来Redirect.asp?ID=15,而Redirect.asp会将吸收到的ID值到数据库举行比对,将比对到的资
料列其Hits字段值加一接着再导向到URL字段所贮存的网址,这是一种对照复杂的做法,不外条件是你必需将一切网页的材料
全体建进数据库,现在天要先容的办法其实不必要将一切网页的材料写进数据库,你只需将网页称号和日期字段建进数据库即
可。



数据库表格及字段称号界说以下:





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


<%指定命据库路径

Dimstats
stats="DRIVER={MicrosoftAccessDriver(*.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>
<bodytext="#000000"bgcolor="#FFFFFF">
<!--#INCLUDEFILE="adovbs.inc"-->




<%

DimtodaysDate

将网页称号以Session变量代替

将今朝日期传给todaysDate变量

session("Page")="1"

todaysDate=day(now())


********************************************
假如明天是1号的话,就将记录日记文件是不是已寄给网站

办理者的笔墨考证档案以内容读出,并传给Mailed变量
********************************************
iftodaysDate="1"then

DimobjFSO,objTextFile


SetobjFSO=CreateObject("Scripting.FileSystemObject")


SetobjTextFile=objFSO.OpenTextFile("C:inetpubwwwrootaspstate
Mailed.txt")

DoWhileNotobjTextFile.AtEndOfStream


Mailed=objTextFile.ReadLine


Loop

objTextFile.Close

SetobjTextFile=Nothing


SetobjFSO=Nothing



假如日记文件还没寄出


IfMailed="0"then





DimobjRec
DimobjConn
DimtxtSubject

创建数据库保持并开启数据库

SetobjConn=Server.CreateObject("ADODB.Connection")


SetobjRec=Server.CreateObject("ADODB.Recordset")

objConn.Openstats


MySQL="Select*FromStats"


objRec.OpenMySQL,objConn,adOpenKeyset,adLockReadOnly


呼唤Email子程序,将日记文件内容传给txtSubject变量


txtSubject=Email(objRec)


呼唤LogFile子程序,将日记文件内容写进日记文件

LogFile(txtSubject)


呼唤EmailTo子程序,将日记文件内容寄给网站办理者

EmailTo(txtSubject)


呼唤dBaseClear子程序,将数据库内容全体回零

dBaseClear()





**************************************
Email子程序
**************************************
FunctionEmail(objRec)
DimstrT
Dimtotal
DimfldF

将总数回0

total=0
intFields=objRec.Fields.Count-1
WhilenotObjRec.Eof
ForEachfldinObjRec.Fields
IfNotfld.Name="ID"Then

除ID字段以外,将别的字段称号、字段值依序列出
fld.Name(字段称号),fld.Value(字段值)
并将月份加在字段称号和字段值之前然后传给strt变量


strT=strT&MonthName(month(date()))&""&fld.Name&_
":"&fld.Value&VbCrLf

盘算总点选次数,并传给Total变量
total=total+fld.Value

Endif
Next


strT=VbCrLf&strT&VbCrLf
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!

金色的骷髅 发表于 2015-1-20 09:43:39

不能只是将它停留在纸上谈兵的程度上。

仓酷云 发表于 2015-1-29 06:34:00

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

老尸 发表于 2015-2-5 23:15:40

那么,ASP.Net有哪些改进呢?

第二个灵魂 发表于 2015-2-14 04:33:42

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

变相怪杰 发表于 2015-3-4 04:34:28

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

活着的死人 发表于 2015-3-4 04:34:28

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

小女巫 发表于 2015-3-11 16:45:05

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

再现理想 发表于 2015-3-19 02:19:33

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

冷月葬花魂 发表于 2015-3-27 04:11:32

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
页: [1]
查看完整版本: ASP网页编程之怎样完全记录站内一切网页点选次数