论网站计数器及在线人数统计_第1页
论网站计数器及在线人数统计_第2页
论网站计数器及在线人数统计_第3页
论网站计数器及在线人数统计_第4页
论网站计数器及在线人数统计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网站计数器及在线人数统计1系统设计11需求分析要求在网页中实现网站历史访问总人数以及当前在线人数的统计功能。12设计原理1.2.1网站计数器统计原理在网络上可以看到各种网站计数器,这些计数器虽然千差万别,但本质上都是一样的,其原理大致为:网站的访问量数据保存在服务器上的一个文本文件或数据库中;浏览者访问包含有计数器的页面时,将触发计数程序,程序打开文本文件或查询数据库获得访问都浏览之前的计数数据,将计数值加1,在页面上显示并写回文本文件或数据库中。1.2.2在线人数统计原理 统计在线人数需要用到ASP的Application对象。在ASP中Application对象用于存储和接收可以被整个程序

2、所有用户共享的信息。当Web服务器启动并开始提供HTTP服务时,Application_OnStart事件被触发,初始化Application对象(发生在第一个Session_OnStart之前),一直到应用程序被卸载或者Web服务器停止服务的时候,Application_OnEnd事件被触发(发生在最后一个Session_OnEnd事件之后),Application对象被卸载。所以,Application非常适合用来统计当前在线人数。在Application_OnStart时候,将在线人数初始化为0,后面每个用户请求访问,建立会话触发Session_OnStart事件的时候,将Applica

3、tion对象统计人数的变量加1;当有会话结束,Session_OnEnd事件被触发的时候,将Application对象统计人数的变量减1,这样便可以完成在线人数统计功能。2数据库设计webCount数据表的设计:首先建一个webcount.mdb数据库,然后再建一个webcount的表,表结构如下图所示。字段类型长度必填字段允许空值说明Count_id自动编号流水号,主键Count_ip文本50YN客户端IP地址Count_time日期/时间Y客户访问时间,默认值为NOW()Count_user_agent备注YN客户端用户代理3.具体实现过程3.1 计数功能的实现首先打开DW,新建一个名为“

4、count.asp”的“ASP VBScript”的动态页面,然后定义数据库连接。单击“应用程序/数据库”面板左上角的“+”按钮,在弹出菜单中选择“自定义连接字符串”选项,弹出“自定义连接字符串”对话框,在“连接名称”文本框内输入“conncount”,在“连接字符串”文本框中输入以下内容:"provider=microsoft.jet.oledb.4.0;data source="&server.mappath("/myweb/counter/data/webcount.mdb")"Driver=Microsoft Access Dr

5、iver (*.mdb);DBQ="& server.mappath("/myweb/counter/data/webcount.mdb")如图所示在“Dreamweaver应用连接”中选择“使用服务器上的驱动程序”,然后单击“测试”命令按钮,可以查看数据库是否连接成功,如果成功将弹出“成功创建连接脚本”对话框,如图所示。然后单击“确定”命令按钮关闭对话框。这时在“应用程序/数据库”面板里将出现数据库结构信息,如图所示。接下来,再设计count.asp页面,如图所示。创建记录集:单击“应用程序/绑定”面板左上角的“+”按钮,在弹出菜单中选择“记录集(查询)

6、”选项,如图所示选择“记录集(查询)”后,系统会弹出“记录集”对话框,然后单击对话框中的“高级”命令按钮,弹出记录集高级设置对话框,如图所示。在弹出的“记录集对话框”的“SQL”中输入SQL语句,具体设置如图所示。如图所示。然后在SQL文本框中输入以下SQL语句:SELECT count(*)+1 as ctotal FROM webcount如图所示然后点击“测试”按钮弹出如图所示对话框,再单击“确定”按钮完成记录集设置。绑定记录集:完成了记录集的设置后,就要在页面中绑定记录集。展开绑定面板中“记录集(recordset1)”,将记录集中的ctotal拖动到设计好的页面中需要显示计数值的位置

7、。绑定记录集后的页面如图所示。插入当前访问用户数据到数据库:单击“应用程序/绑定”面板上左上角的“+”按钮,在弹出菜单中选择“命令(预存过程)”选项,如图所示。选择“命令(预存过程)”选项后,弹出“命令”对话框,如图所示。在该对话框中进行设置:名称command1,连接conncount,类型插入;在“数据库项”里展开要插入数据的表“webcount”,选中其中的“count_ip”字段,然后单击旁边的“列”按钮,SQL语句就变为“INSERT INTO webcount (count_ip) VALUES ( )”,如图所示。在SQL语句中的“VALUES ( )”输入“user_ip”,然

8、后单击“变量”后的“+”按钮,在“名称”中输入“user_ip”,在“运行值”中输入“request.servervariables('remote_addr')”,这样就完成了对webcount表中插入一条新记录的变量设置与赋值,“request.servervariables('remote_addr')”是用来获取客户端IP地址的。再同样的方法设置获取客户端浏览器用户代理字符串,在SQL语句中的“VALUES ( )”输入“user_agent”,然后单击“变量”后的“+”按钮,在“名称”中输入“user_agent”,在“运行值”中输入“request.

9、servervariables('http_user_agent')”。对count_id和count_time不需要进行赋值,因为前者是自动编号,后者是建立数据表时已经默认其值为“NOW()”。设置后如图所示3.2当前在线人数统计在DW中新建一个名为“global.asa”的动态页面。输入如图所示代码:输入以上代码后,将global.asa保存在网站的根目录,否则无法在count.asp页面中显示在线人数。在计数页面中创建application对象:从global.asa切换到count.asp页面,单击“应用程序/绑定”面板左上角的“+”按钮,在弹出菜单中选择“应用程序变量”选项,如图所示,会弹出如图所示“应用程序变量”对话框。 在名称中输入“onlineuser”,这个变量就是在global.asa中定义的,用来统计在线人数的application变量名称,在count.asp要显示变量值时需要引用这个变量。绑定应用程序变量到页面建立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论