• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Flash+ASP精彩联合打造投票程序(图)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 14次 | 进入软件测试论坛讨论

领测软件测试网
为了调查了解站点访问者对特定问题的立场,我们可以在站点中设置投票程序,站点访问者直接选择答案,程序自动对所有答案进行统计和显示。

下面是一个简单的flash版的投票程序,后台使用xml+ asp+ mysql:因为大多web工作

者对asp比较熟悉,xml可以将复杂的问题简化,采用mysql的原因是access我没有安装,程序不需要任何存储过程,所以无需动SQL Server ,Oracle等重兵器。

问题分析:本投票程序是选择题,故我们用一个字段存储用户的答案即可。

建立数据库和表:表名称和数据库名称任意,字段定义如下:

voteid无符号整数自动编号

result短整数存储用户选择本程序范围在0-2

userip char (25)用户ip地址实际长度21

message char(255)附加消息//这个程序未用

使用mysql-front创建,如下图所示:

图1

设计flash用户界面:从window/components/flash ui components中拖三个RadioButton到舞台中。

设置标签,其他为默认值。(从属性面板和组件参数面板均可以设置)

图2

这里将使用一个图表组件(HTML UI Components中的Subtype),你可以到MM扩充资源www.macromedia.com/exchange/flash下载.

参数设置如下:

图3

 

图4

flash端的程序非常简单只有三行:

//在时间轴的第一帧,加入下面的代码

//标签名称为“开始投票吧!”的按钮,事件句柄为sendvote,在点击后执行下面的自定义函数

function sendvote () {
_root.mytb.readData("http://localhost/votexml.asp?selectresult="+radioGroup.getInstance());
}

服务器端程序的编写,上面你可能看到有一个votexml.asp的文件,下面我们就来建立它。

代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
set conn=server.CreateObject("adodb.connection")
conn.open "dsn=mysql"
set rec=server.CreateObject("adodb.recordset")
%>
<% if request("selectresult")<>"" then
userip= Request.ServerVariables("REMOTE_ADDR")
selectresult=request.QueryString("selectresult")
rec.open "select count(*) as count from votetable where votedate>‘’"&now()-0.125 & "‘’ and userip=‘’"&userip&"‘’",conn
if rec("count")>0 then
bzh="重复投票无效"
rec.close
‘’response.Write("请不要重复投票")
else
rec.close
bzh="投票有效"
conn.execute "insert into votetable(userip,result) values(‘’"&userip&"‘’,"& selectresult&")"
end if
else
bzh="查看投票"
end if
rec.open "SELECT result,count(*) as count FROM votetable group by result ORDER BY result asc",conn
t0=cint(rec("count"))
rec.movenext
t1=cint(rec("count"))
rec.movenext
t2=cint(rec("count"))
tcount=t0+t1+t2
Response.contenttype="text/xml"
%>
<% Response.write "<?xml version=‘’1.0‘’ encoding=‘’gb2312‘’?>"
response.Write("<root bz=‘’"&bzh&"‘’>")
Response.write "<base><data value=‘’相信‘’ color=‘’0xff00cc‘’/><data value=‘’不相信‘’ color=‘’0x0000CC‘’/><data value=‘’现在还不清楚‘’ color=‘’0x00cc00‘’/></base>"
response.Write("<record value=‘’共"&tcount&"票‘’ color=‘’0x0000CC‘’>")
response.Write("<data value=‘’"&t0/tcount&"‘’/>")
response.Write("<data value=‘’"&t1/tcount&"‘’/>")
response.Write("<data value=‘’"&t2/tcount&"‘’/></record>")
%>
<%
Response.write "</root>"
rec.close
set rec=nothing
conn.close
set conn=nothing
%>

将文件保存为votexml.asp,放置到web路径为"/"的目录中,即可。

备注:实际应用到web服务器的时候,请在flash中使用相对路径。flash movie和votexml.asp可以放置到任何目录中。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网