第一个是使用基于ASP服务器的Session,第二个是通过保持客户端cookies。(1)Session技术使用该技术将用到global.asa文件中的Session_onStart和Session_onEnd事件句柄。其中,当用户打开网页的时候,触发Session_onStart事件,记录访问的时间。当用户离开网页时,触发Session_onEnd事件,记录离开的时间。两个时间差就是用户访问网页的时间。(2)Cookie技术当访问网页时,程序新建一个Cookie并记录当前的时间,在需要统计访问时间的时候就可以读取该Cookie中的时间。下面将使用第一种方法来实现记录用户访问网页时间的功能。具体步骤1.编写ASP文件 “example134.asp”,代码如下: 2.编写“Global.asa”文件,代码如下:Sub Session_OnStart Session("In") = Now '函数Now取得当前时间。End Sub Sub Session_OnEnd Session("Out") = NowApplication.Lock Application("Out") = Session("Out")Application("In") = Session("In")Application("Out").UnLockEnd Sub 注意:global.asa是一个可选的文件,必须放在www根目录下,或是虚拟目录的根目录下。这样,可以确保一个应用程序共享一个global.asa文件。
解决思路有两种很好的方法来记录用户访问网页的时间并统计停留时间,第一个是使用基于ASP服务器的Session,第二个是通过保持客户端cookies。(1)Session技术使用该技术将用到global.asa文件中的Session_onStart和Session_onEnd事件句柄。其中,当用户打开网页的时候,触发Session_onStart事件,记录访问的时间。当用户离开网页时,触发Session_onEnd事件,记录离开的时间。两个时间差就是用户访问网页的时间。(2)Cookie技术当访问网页时,程序新建一个Cookie并记录当前的时间,在需要统计访问时间的时候就可以读取该Cookie中的时间。下面将使用第一种方法来实现记录用户访问网页时间的功能。具体步骤1.编写ASP文件 “example134.asp”,代码如下: 2.编写“Global.asa”文件,代码如下:Sub Session_OnStart Session("In") = Now '函数Now取得当前时间。End Sub Sub Session_OnEnd Session("Out") = NowApplication.Lock Application("Out") = Session("Out")Application("In") = Session("In")Application("Out").UnLockEnd Sub 注意:global.asa是一个可选的文件,必须放在www根目录下,或是虚拟目录的根目录下。这样,可以确保一个应用程序共享一个global.asa文件。正是它可以在应用程序开始始终追踪应用程序对象与会话对象。
在打开第一个页面时做一个session,做为访问者的唯一识别,记录时间,如果这个访问者没有跳出你的网站,而是进入第二个页面,那第二个页面判断session得出访问者从哪里来,来的时间,这样就可以得出访问第一个页面的时间。
原理大概是这样,,但是就不建议自己再做这样的功能了,有很多现成的统计或者一些插件。。更专业成熟。。。
代码如下:
<%
dim lasttime,rs2,sql2,rs3,sql3
Set rs2 = Server.CreateObject("ADODB.Recordset")
sql2="select top 1 lastvisittime from user order by id desc"
rs2.Open sql2,conn,1,1
session("lasttime")=rs2("lastvisittime")
rs2.close
set rs2=nothing
Set rs3 = Server.CreateObject("ADODB.Recordset")
sql3="select * from user"
rs3.Open sql3,conn,1,3
rs3.addnew
rs3("lastvisittime")=now()
……
rs3.update
rs3.close
set rs3=nothing
%>
在user.asp中写下这个代码<%=session("lasttime")%>就行了。