ASP编程:怎样用ASP编写网站统计体系
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。在今朝的网站统计体系决年夜部分都是CGI的,但编写起来出格庞大,而ASP学起来复杂,更有和数据库分离的长处,以是分离本人已经做过的网站统计体系,和人人切磋一下ASP编写网站统计体系。人人都看过网易的网站统计体系,它能够统计总会见量,逐日均匀会见量,当日会见量,最高会见量,最高会见日期,日流量剖析,月流量剖析,周流量剖析,扫瞄器剖析,等等。
实在要做一个ASP的会见统计体系关头是体系表布局的计划。和怎样来收罗用户的CGI变量,怎样来显现用户的信息。也就是说体系的关头是两个ASP程序,统计程序和显现程序。
起首我们先看看怎样来收罗用户的会见信息。
我们编写会见统计必要晓得用户的以下信息,会见者的IP(依据会见IP能够构成会见者IP列表),会见者的扫瞄器与操纵体系(统计会见者的扫瞄器与操纵体系及一切会见者扫瞄器与操纵体系比例图),会见者的会见工夫(举行日会见量剖析,月会见量剖析,周会见量剖析),上面我们来看看用ASP的取得以上信息的语句:
1。取得会见者IP
DimM_IP
M_IP=Request.Servervariables("REMOTE_HOST")
用下面的语句能够获得会见者的IP。
2。取得扫瞄器信息
DimO_Browser,M_BrowserType
SetO_Browser=Server.Createobject("MSWC.BrowserType")
M_BrowserType=O_Browser.Browser+O_Browser.Version
3。取得会见工夫
DimM_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)
1 获得用户的操纵体系。
在ASP中利用以下语句能够失掉会见者的http_user_agent字符串。
DimStrUserAgent
StrUserAgent=Request.ServerVariables("HTTP_USER_AGENT")
这个字符串通常为以下格局:
Mozilla/4.0(compatible;MSIE4.01;Windows98)
下面的字符串能够申明会见者利用的操纵体系是Windows98,扫瞄器是MSIE4.01,可是这个字符串格局不流动,并且能够本人变动。
寻常我们所见的别的一些次要的UserAgent字符串以下:
利用IE的扫瞄器:
Mozilla/2.0(compatible;MSIE3.01;Windows95)
Mozilla/4.0(compatible;MSIE4.0;Windows95);
Mozilla/4.0(compatible;MSIE4.01;Windows98)
Mozilla/4.0(compatible;MSIE5.0;Windows98);
Mozilla/4.0(compatible;MSIE5.0b2;WindowsNT)
利用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;Windows95)3.50b10
FrontPage编纂器:
Mozilla/2.0(compatible;MSFrontPage3.0)
利用Sun操纵体系:
Mozilla/3.01Gold(X11;I;SunOS5.7i86pc)
利用PowerPc的Mac机:
Mozilla/4.0(compatible;MSIE4.5;Mac_PowerPC)
经由过程剖析以上字符串,我们能够找出纪律,编写一个子程序来判别会见者用的是何种操纵体系,又因为用ASP中的判别扫瞄器范例的控件必要更新Browser.ini文件,以是我们能够分离这个字符串来判别扫瞄器属性。
2.我们以甚么样的体例来统计网站呢?
我们可让用户在他的主页上到场以下语句:
<ahref="http://www.abc.com/viewer.asp?userid=username"><imgsrc="http://www.abc.com/counter.asp?userid=username"></a>下面的userid是详细哪个用户,要注重用户和会见者不是一个观点。
经由过程下面的字符串我们就能够收罗用户的会见数据,并给用户供应寓目数据的链接。在我们看加有网易的统计体系的页面时会发明它会前往给用户一个图标,我们就能够在counter.asp中完成这个功效。
到场:response.redirect"http://www.abc.com/abc.gif"
这个语句我们能够加在统计数据收罗后前往给用户。
计划表布局是一项极为主要的事情,它的公道与否与程序的体例严密相干。
一个网站统计体系应当有一个用户表,统计值表。
这个用户表也就是保存注册用户信息的表,统计值表就是纪录用户的每项统计目标值的表。在统计值的表中我们能够指定用户的统计目标,我们可把每个目标用一个ID值来暗示,这里我们复杂举例。
用户表:
TableName:regist_table
Fieldtype
usernameC用户名
passwordC暗码
regdateC注册工夫
值表:
TableName:value_table
Fieldtype
usernameC用户名
idC统计目标ID
valueC统计目标的值
Id列表:
TableName:id_table
Fieldtype
idC统计目标ID
idvalueC统计目标的申明
有了这三个表我们就能够入手下手做了。
如我们能够指定以下ID
ididvalue
101总会见量
2011日会见量
2022日会见量
::
::
23131日会见量
要想对用户入手下手统计我们必需得先让用户注册,用户利用的流程以下:
填注册表->初始用户的value表(把对应的ID到场)->把注册信息反应给用户
->用户在本人的页面上到场链接->入手下手统计
能收罗数据我们都能采到了,那末我们就入手下手体例ASP的统计页面。
这一页我们叫计数页,counter.asp
这段asp代码我们必要让它按以下的流程举行收罗数据并保留数据和更新数据:
收罗用户名,判别用户名是不是正当,收罗会见者的信息,对信息举行加工,举行保留和更新数据库,前往logo图标。
挪用这个ASP用counter.asp?user=abc这个体例。
收罗用户名我们能够用Request工具的响应办法获得,然后反省用户表判别用户是不是正当,然后失信息,用我们下面讲到的获得响应信息的办法获得信息,然落后行加工保留在数据内外,但最主要的是怎样对数据举行更新,如当日每小时会见统计数,当天每小时统计数等,我们怎样对天天的数据举行更新是这个程式的要点,我们能够接纳几种体例,如对天天的每一个小时的纪录的更新我们接纳在天天半夜12点更新,对每个月的每天的数据我们在月份切换的那一天举行更新。
Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来; 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]