仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 530|回复: 9
打印 上一主题 下一主题

[学习教程] ASP编程:ASP编写网站流量统计体系研讨

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。流量|统计  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)  

  4、获得用户的操纵体系。

  在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文件,以是我们能够分离这个字符串来判别扫瞄器属性。

  我们以甚么样的体例来统计网站呢?

  我们可让用户在他的主页上到场以下语句:

  <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

valuei

datetimec统计目标的值

  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点更新,对每个月的每天的数据我们在月份切换的那一天举行更新。

  上面我讲一下详细的流程,以月份统计举例:

  1,得出上一次的统计的日期工夫

  2,得出以后的日期工夫,以后月份并转化成响应的ID

  3,判别以后月份与上一次月份是不是不异,假如不异则给总数加1,以后月的ID累加1,如不不异则清零一切月份ID,只给总数ID加1

  4,依据月份统计我们能够做一下小时统计,周统计,天统计。
  按如上的流程我们就能够做统计页了,要注重每一个ID的分派要分类明白代表的寄义要了了。
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
只想知道 该用户已被删除
沙发
发表于 2015-1-19 05:57:08 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-25 15:59:18 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
再现理想 该用户已被删除
地板
发表于 2015-2-3 06:45:15 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
精灵巫婆 该用户已被删除
5#
发表于 2015-2-8 20:15:16 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
因胸联盟 该用户已被删除
6#
发表于 2015-2-26 03:47:27 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
admin 该用户已被删除
7#
发表于 2015-2-26 03:47:27 | 只看该作者
掌握asp的特性而且一定要知道为什么。
山那边是海 该用户已被删除
8#
发表于 2015-3-8 11:51:34 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
海妖 该用户已被删除
9#
发表于 2015-3-15 22:27:21 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
老尸 该用户已被删除
10#
发表于 2015-3-22 17:11:04 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 01:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表