asp如何在聊天室实现趣味答题并计分功能?
发布时间:2010-06-18 20:00:00
如何在聊天室实现趣味答题并计分功能?
这个创意确实很好,我们可用在聊天室框架中加入一隐含帧(5分钟刷新一次)的做法来实现这一功能。
question.asp
' 隐含帧内的页面
<%@ language=vbscript%>
<%response.expires=0%>
<%
dim conn,rs
application.lock
application("canswername")=application("answername")
' 保存答对题聊友的昵称
application("answername")=""
application("tanswername")=""
' 清除答错题聊友昵称
set conn=server.createobject("adodb.connection")
accessdb="db1.mdb"
' 连接题库
mydsn="driver={microsoft access driver (*.mdb)};"
mydsn=mydsn & "dbq=" &server.mappath(accessdb)
conn.open mydsn
set rs = server.createobject("adodb.recordset")
rs.cursorlocation=3
rs.open "select * from question ",conn
randomize
' 随机取得一道题的id
r=rs.recordcount
id=int((r-1)*rnd)+1
rs.close
set rs=nothing
set rs = server.createobject("adodb.recordset")
rs.open "select * from question where questionid="&id,conn
application("questionname")=rs("questionname")
' 问题
application("questionid")=rs("questionid")
' 题的id
application("questioncent")=rs("questioncent")
' 题的分数
application("questionclass")=rs("questionnotes")
' 题的说明
rs.close
set rs = nothing
set ra = server.createobject("adodb.recordset")
ra.open "select * from answer where questionid="&id,conn
application("answera")=ra("answera")
' 题的选项
application("answerb")=ra("answerb")
application("answerc")=ra("answerc")
application("answerd")=ra("answerd")
application("answertrue")=ra("answertrue")
' 题的正确答案
ra.close
set ra=nothing
conn.close
set conn=nothing
application("questiontime")=now()
application.unlock
%>
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=gb2312'>
<link rel='stylesheet' href='../style.css' type='text/css'>
<meta http-equiv="refresh" content="300;url=question.asp">
<title><%=application("v")%></title>
<script language="javascript">
parent.showsays.document.write("asp之家聊天室系统消息:<br>");
' 向聊天室显示对话窗口写入问题
parent.showsays.document.write("恭喜,上题答对者是:<%=application"canswername")%>朋友!<br>");
parent.showsays.document.write("现在的趣味问题是:<%=application("questionname")%>");
parent.showsays.document.write(" <%=application("questioncent")%>分(请在1分钟之内回答,请输入'#答案')<%=time()%><br>");
parent.showsays.document.write("a::<%=application("answera")%><br>");
parent.showsays.document.write("b::<%=application("answerb")%><br>");
parent.showsays.document.write("c::<%=application("answerc")%><br>");
parent.showsays.document.write("d::<%=application("answerd")%><br>");
</script>
</head>
<body bgcolor='#ffffff'>
</body>
</html>
answer.asp
' 答案处理部分.位于处理发送对话信息的程序中
if mid(fstr,i,1)="#" then
' fstr是保存对话信息的字符串变量
tfstr=mid(fstr,i+1,1)
if cint(datediff("n",application("questiontime"),now()))<=1 then
' 判断1分钟内答题有效
if lcase(tfstr)=lcase(application("answertrue")) then
' 判断答题是否正确
if instr(1,application("answername"),session("user_username"))>0 then
' 判断该聊友是否已答过题
tfstr=session("user_username")&"噢,您已经答过这道题了!"
else
tfstr=session("user_username")&"恭喜,回答正确!"
session("user_exp") =session("user_exp")+application("questioncent")
' 给答题正确的聊友加分
application("answername")=application("answername")&session("user_username")&" "
' 保存答题正确的聊友的昵称
end if
else
if instr(1,application("tanswername"),session("user_username"))>0 then
' 判断聊友是否已答过题
tfstr=session("user_username")&"噢,您已经答过这道题!"
else
application("tanswername")=application("tanswername")&session("user_username")&" "
' 保存答错题聊友的昵称
end if
end if
end if
猜你喜欢
- 上次 li 把 dl 模拟了~dl不知道要干什么了:green:~找了ol一起来做复合列表~:这个练习除了css外~外加用了点JS :shi
- 最近决定把MT的后台数据从Berkeley的文件DB转到MySQL。原因之一是使用关系数据库可以获得更多的灵活性,比如运行一条sql来变更
- 本人就职于一个本地门户网站,每天网站上的天气都得更新。久而久之感到相当麻烦,于是写了一个定时的新闻小偷,帖出来大家参考一下系统
- isnull在数据库查询中的应用,特别是再语句连接的时候需要用到 比如连接时候,某个字段没有值但是又要左连接到其他表上 就会显示空, isn
- 1.查询表名: 代码如下:select table_name,tablespace_name,temporary from user_tab
- 为你的网站,博客等添加rss聚合功能,给出rss.asp和rss.xml两种的聚合代码看过的朋友可帮忙顶哦,这些代码都是第一次发的,外面很多
- ASP 内建对象Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用
- 偶写的几个ASP字符串处理函数,用于文章分页的小玩意函数名:StrLen作 用:取得字符串长度(汉字为2)参 
- SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一
- 代码如下:<% '/* 函数名称:Zxj_ReplaceHtmlClearHtml '/
- #mkdir /mysqldata2、创建/usr/sbin/bakmysql文件#nano /usr/sbin/bakmysql输入:#!
- 在我转到wordpress之后第一个考虑的是它的数据库备份恢复问题,因为写bloger都知道,自己的blog记录的都是自己需要的宝贵的资料和
- 使用 NetBox 可以方便的将 asp 应用编译成为独立运行的执行程序,完全摆脱 iis 的束缚,在几乎所有的 Windows 版本上面直
- 代码如下: <% dim fso,objFolder,objFiles dim filelist Set fso=Server.Cre
- 《页面表达常用方式》是整个“web交互设计方法”中的一部分:设计师在设计页面时,应该在页面上建立许多视觉层次,引导用户的视觉焦点。把用户的注
- 代码如下:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。 /连接“网站
- 主要使用IE各个阶段实现的一些方法,从中也可以看出IE的发展史。暂时提供到IE4的判定。var isIE = window.ActiveXO
- 随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联
- 第一章:基本的圆角框第二章:透明圆角化背景图片第三章:圆角化图片 第四章:CSS圆角框组件 V1.0在上面的案例中,我只给出最为原始的圆角框
- 可怜我的C盘本来只有8.XG,所以不得不卸载掉它。卸载掉本身没啥问题,只是昨晚突然发现 Sql Server 2008 R2 Managem