网站计数器及在线人数统计1.系统设计1.1需求分析要求在网页中实现网站历史访问总人数以及当前在线人数的统计功能。1.2设计原理1.2.1网站计数器统计原理在网络上可以看到各种网站计数器,这些计数器虽然千差万别,但本质上都是一样的,其原理大致为:网站的访问量数据保存在服务器上的一个文本文件或数据库中;浏览者访问包含有计数器的页面时,将触发计数程序,程序打开文本文件或查询数据库获得访问都浏览之前的计数数据,将计数值加1,在页面上显示并写回文本文件或数据库中。1.2.2在线人数统计原理统计在线人数需要用到ASP的Application对象。在ASP中Application对象用于存储和接收可以被整个程序所有用户共享的信息。当Web服务器启动并开始提供HTTP服务时,Application_OnStart事件被触发,初始化Application对象(发生在第一个Session_OnStart之前),一直到应用程序被卸载或者Web服务器停止服务的时候,Application_OnEnd事件被触发(发生在最后一个Session_OnEnd事件之后),Application对象被卸载。所以,Application非常适合用来统计当前在线人数。在Application_OnStart时候,将在线人数初始化为0,后面每个用户请求访问,建立会话触发Session_OnStart事件的时候,将Application对象统计人数的变量加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,新建一个名为“count.asp”的“ASPVBScript”的动态页面,然后定义数据库连接。单击“应用程序/数据库”面板左上角的“+”按钮,在弹出菜单中选择“自定义连接字符串”选项,弹出“自定义连接字符串”对话框,在“连接名称”文本框内输入“conncount”,在“连接字符串”文本框中输入以下内容:如图所示在“Dreamweaver应用连接”中选择“使用服务器上的驱动程序”,然后单击“测试”命令按钮,可以查看数据库是否连接成功,如果成功将弹出“成功创建连接脚本”对话框,如图所示。然后单击“确定”命令按钮关闭对话框。这时在“应用程序/数据库”面板里将出现数据库结构信息,如图所示。接下来,再设计count.asp页面,如图所示。创建记录集:"provider=microsoft.jet.oledb.4.0;datasource="&server.mappath("/myweb/counter/data/webcount.mdb")"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&server.mappath("/myweb/counter/data/webcount.mdb")单击“应用程序/绑定”面板左上角的“+”按钮,在弹出菜单中选择“记录集(查询)”选项,如图所示选择“记录集(查询)”后,系统会弹出“记录集”对话框,然后单击对话框中的“高级”命令按钮,弹出记录集高级设置对话框,如图所示。在弹出的“记录集对话框”的“SQL”中输入SQL语句,具体设置如图所示。如图所示。然后在SQL文本框中输入以下SQL语句:SELECTcount(*)+1asctotalFROMwebcount如图所示然后点击“测试”按钮弹出如图所示对话框,再单击“确定”按钮完成记录集设置。绑定记录集:完成了记录集的设置后,就要在页面中绑定记录集。展开绑定面板中“记录集(recordset1)”,将记录集中的ctotal拖动到设计好的页面中需要显示计数值的位置。绑定记录集后的页面如图所示。插入当前访问用户数据到数据库:单击“应用程序/绑定”面板上左上角的“+”按钮,在弹出菜单中选择“命令(预存过程)”选项,如图所示。选择“命令(预存过程)”选项后,弹出“命令”对话框,如图所示。在该对话框中进行设置:名称——command1,连接——conncount,类型——插入;在“数据库项”里展开要插入数据的表“webcount”,选中其中的“count_ip”字段,然后单击旁边的“列”按钮,SQL语句就变为“INSERTINTOwebcount(count_ip)VALUES()”,如图所示。在SQ...