日期:2014-05-16  浏览次数:20881 次

如何限制用户同时打开多个同一页面进行提交?
ASP+MSSQL做一个在线学习系统,在课程页面class.asp?id=xx(xx为课程ID编号)有计时功能,学习完成点击按钮可获取用户在该页面的停留时间,现在问题是如果一个用户同时打开多个课程页面,那么点击每个页面的计时按钮得到的计时结果将是所有页面停留时间的累加。如用户同时打开10个课程页面,在每个页面停留5分钟,点击按钮后存到数据库中的停留时间是50分钟。
如何限制用户在打开第一个class.asp页面后不能再次打开class.asp页面或者再打开其他课程页面后把计时功能屏蔽?只获取第一次打开课程页面的计时结果

------解决方案--------------------
打开的时候session存储一个值,再打开判断这个值存在就直接response.end结束输出
if session("open")="1" then
  response.write "已经打开过"
  response.end
end if

session("open")="1"

''''''''其他代码


用户提交后清空那个session值就行了
------解决方案--------------------
引用:
ASP+MSSQL做一个在线学习系统,在课程页面class.asp?id=xx(xx为课程ID编号)有计时功能,学习完成点击按钮可获取用户在该页面的停留时间,现在问题是如果一个用户同时打开多个课程页面,那么点击每个页面的计时按钮得到的计时结果将是所有页面停留时间的累加。如用户同时打开10个课程页面,在每个页面停留5分钟,点击按钮后存到数据库中的停留时间是50分钟。
如何限制用户在打开第一个class.asp页面后不能再次打开class.asp页面或者再打开其他课程页面后把计时功能屏蔽?只获取第一次打开课程页面的计时结果


我可能想复杂了 如果用户打开不提交怎么办?很可能要用ajax做一个心跳系统