设为首页
加入收藏
发送稿件
小愚学ASP之二

小愚学ASP 第二篇:ASP互动编程第一步(在线测验)

蚂蚁电商3.0  2003-11-8 16:03:41
www.BHAsp.com
[ 关键字 ] 学习,电脑报,小愚

《小愚学ASP》
第二篇:ASP互动编程第一步(在线测验)
            ----讲课:关大哥    听课:小愚

    关大哥:传统的网络文件系统HTML最缺乏的是动感,传统HTML难以与用户进行有效地沟通,所以网络上产生了CGI、PHP、ASP等脚本语言,采用这些脚本语言很容易可以编写出动态的、交互的WEB应用程序,而ASP是各种脚本语言中开发速度最快的。
    下边我们先来看互动编程的一个简单例子。

例程  2-1.asp
<HTML>
<HEAD>
<TITLE>ASP互动编程例程一</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<FORM METHOD="post" ACTION="2-1.asp">
姓  名:<INPUT TYPE="input" NAME="username">
<INPUT TYPE="submit" VALUE="确定">
</FORM>
<%
dim name 
name=Request.Form("username")
Response.Write "你是姓名是:"
Response.Write name
%>
</BODY>
</HTML>

    在本例中,先定义了一个表单(Form),并且规定了表单向本身提交

<form method="post" action="2-1.asp">

    提交的方式是POST,执行 2-1.asp 文件,这时,如果用户向文本框里输入“关大哥”,则按确定后浏览器显示如下
本文包含相关图片如下


    小愚:上面的html我知道,下边的<%%>我就#@%^!@
    关大哥:别着急,我一句句解释给你听。
    使用ASP进行交互操作就必定涉及到“变量”,变量是一个信息的储存单位,打个比方说,我们可以命名一个变量叫“水桶”,那么以后我们就可以直接使用“水桶”了,我们也可以随时改变“水桶”里面的数值或文字,那么第一句
    dim name
    就声明了一个变量“name”,这时“name”时面还是空的,接下来我们往“name”里边装东西:赋值。
    name=Request.Form("username")
    这里用到了ASP的内建对象Request来获取客户表单的信息,Request对象一共有五个集合,分别是:

    1.QueryString集合:用于获取URL附加的参数
    2.Form集合:用于获取客户表单FORM中的数据
    3.Cookies集合:用于获取客户浏览器的Cookies信息
    4.ServerVariables集合:用于获取服务器的环境变量
    5.ClientCertificate集合:用于获取客户身份验证的信息

    最常用到的是前面的两个集合,特别是Form集合,当HTML中使用表单FORM的POST方式提交数据时,全部提交的数据就在Form集合中。这时我们可以用 Request.Form("参数") 来获取用户提交的内容。在这里,“参数”是指表单FORM里面元素的名称。如上例的 username 。
    那么现在变量“name”里面就储存了用户输入的名字了,接下来要把用户输入的名字在浏览器显示出来。
    Response.Write "你是姓名是:"
    Response.Write name

    这里用到了ASP的另一个内建对象:Response。该对象的作用跟Request对象刚好相反,Request对象是用于获取客户端浏览器的信息,而Response对象是用于向客户端浏览器发送信息。这里使用了Response对象的Write方法,语法是:Response.Write 变量名或者字符串。注意使用字符串时要将字符串用"和"括起来,如"你的姓名是:"。
    小愚:就这么简单啊?(我真是“水桶”,什么新知识都装得下,嘻嘻……)
    关大哥:本来也不难嘛,不过这只是最简单的一个互动文件,在大多数情况下,我们都需要建立一个专门的ASP文件来处理用户提交的数据,现在网络上很流行在线测验,我们就来做一个简单的在线测验试试。
    小愚:在线测验?那……应该如何做呢,用选择题的形式吗?
    关大哥:对,就用单选题的形式,我们来做两个页面,一个显示题目,并把用户的数据提交到另一个ASP文件进行处理。
    下边是显示题目的html文件:
例程  2-2.html
<HTML>
<HEAD>
<TITLE>互动例程二:在线测验</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
</HEAD>
<BODY>
<FORM METHOD="post" ACTION="2-3.asp">
1.对二十世纪最有影响的科学家是:<br>
<INPUT Type=Radio Name=Q1 Value=0>李白
<INPUT Type=Radio Name=Q1 Value=1>李小龙
<INPUT Type=Radio Name=Q1 Value=2>黄飞鸿
<INPUT Type=Radio Name=Q1 Value=3>关外飞鸿<P>
2.二十一世纪最没有发展潜力的电脑硬件是:<br>
<INPUT Type=Radio Name=Q2 Value=0>硬盘
<INPUT Type=Radio Name=Q2 Value=1>键盘
<INPUT Type=Radio Name=Q2 Value=2>光盘
<INPUT Type=Radio Name=Q2 Value=3>磁盘<P>
<INPUT Type=Submit Value="看看我的分数">
</FORM>
</BODY>
</HTML>

    下面是处理用户数据的ASP文件:
例程  2-3.asp
<%
dim quest1,quest2,count
quest1 = Request.Form("Q1")
quest2 = Request.Form("Q2")
count = 0
If quest1=3 then count=count+50
If quest2=3 then count=count+50
%>
<HTML>
<HEAD>
<TITLE>测验结果</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
</HEAD>
<BODY>
你的分数是:<%=count%>
</BODY>
</HTML>

    首先在浏览器执行 2-2.html ,选择任意两个答案,结果显示如图
本文包含相关图片如下


    点击“看看我的分数”,结果如图当然是100分啦(小愚:有没有搞错?你是二十世纪最有影响……?@^@?)
本文包含相关图片如下


    小愚:这次我来解释好了,咳咳……开始了啊……我先讲ASP文件,HTML大家都能理解,我就不讲了……咳咳(第一百零八次清嗓子之后)
    首先呢,先定义了三个“水桶”(关大哥:就是“变量”啦),然后分别往里边装东西……
 
    dim quest1,quest2,count
    quest1 = Request.Form("Q1")
    quest2 = Request.Form("Q2")
    count = 0

    把FORM表单里的Q1元素的值(Value)赋值给变量quest1,把Q2元素的值(Value)赋值给变量quest2,接着设置变量count的初始值:0,这样当用户没有选择任何一个答案就提交时,我们就认为他交了白卷:0分。

    If quest1=3 then count=count+50
    If quest2=3 then count=count+50

    接下来是计算测验分数,用上一篇讲过的IF函数。这里,我们先预定两个正确答案的值都是3(Value=3),然后用if函数进行判断,如果用户提交的数据是3(quest1=3),那么分数“count”就加50分。

    你的分数是:<%=count%>

    最后输出用户的测验分数,也即变量“count”最后的值。
    这里用到了另一种输出方法:<%=变量%>。本方法只能用于只有一行ASP代码时,如果有多行代码,就只能使用“Response.Write  变量”来进行输出了。 

    关大哥:现在自己能编写简单的ASP了吧?
    小愚:那还用说,我也来编一个在线考试,以前被老师考、家长考、上司考,现在终于轮到我考别人了!我还要编一个“小愚心理测验愚人节版”,以前老被别人捉弄,现在终于……
    关大哥:只要修改一下题目以及答对时该加的分数就可以啦,做一下互动网页就这么简单,连小愚也一下学会了……
    关大哥话音未落,只听小愚说:只能出两道题吗?我要出三道题怎么办?四道题呢……



oooooooooo家园提示:人自为谱,家自为说,正误自辨,取舍自酌。引用注明作者和出处。 来源:罗氏家园
阅读:5054
日期:2004/5/23

查看评论 】 【 收藏 】 【 打印 】 【 关闭 】 【字体: 】 
上一篇:小愚学ASP之三
下一篇:小愚学ASP之一
  >> 相关文章
 
发表评论


        站长提示:这里不是互动留言处!
点  评: 字数0
用户名:  密码:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
家园地址:http://www.luos.org  粤ICP备13039246号-2
家园创建:罗良富   技术支持:AssumeYessure   法律顾问:罗劲松