ASP网页编程之用ASP完成网上测验体系
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。跟着互连网手艺的开展网上教授教养将成为人们承受再教导和毕生教导的次要情势。在网上黉舍中,人们能够不受工夫和空间的限定,随时随地选学任何中央的任何课程。网上黉舍的开展对网上测验的开展提出了急切的请求。这里是我用Asp和Access数据库完成的一个网上测验体系。当用户凭用户名和口令登录时,体系起首反省该用户是不是已列入过测验,如果则举行成就查询,若不然从题库中提取考题供用户解答。等用户提交答卷后,体系举行评分并将成就挂号进库。一.数据库计划
起首创建一数据库exercise.mdb,个中包含两个表:user和test,user表中有包含三个字段:
字段称号:user;字段范例:文本;字段巨细:20。存储用户名
字段称号:passwd;字段范例:文本;字段巨细:20。存储用户暗码
字段称号:score;字段范例:数字;字段巨细:整型。存储用户成就
test表中有五个字段:
字段称号:question;字段范例:文本;字段巨细:255。存储测验标题
字段称号:a;字段范例:文本;字段巨细:100。存储选项A的谜底
字段称号:b;字段范例:文本;字段巨细:100。存储选项B的谜底
字段称号:c;字段范例:文本;字段巨细:100。存储选项C的谜底
字段称号:d;字段范例:文本;字段巨细:100。存储选项D的谜底
字段称号:ans;字段范例:文本;字段巨细:2。存储准确谜底
二.程序原代码
上面是该体系中较中心的三段原程序,但愿对开辟相似体系的读者取到举一反三的感化,读者也可对其举行改善以顺应本人的体系。
‘Login.asp源程序,查验用户是不是正当
<%@Language=VBScript%>
<%
name=trim(request("name"))
passwd=trim(request("passwd"))
‘反省用户是不是输出信息
ifname""andpasswd""then
Setconn=Server.CreateObject
("ADODB.Connection")
conn.Open"driver={MicrosoftAccess
Driver(*.mdb)};dbq="&
Server.MapPath("exercise.mdb")
setrs=server.createobject("adodb.recordset")
sql="select*fromuserwhereuser="&name&
"andpasswd="&passwd&""
‘反省用户的正当性
Setrs=conn.Execute(sql)
ifnot(rs.eof)then
反省用户是不是已列入过测验,
如果则举行成就查询
ifrs(“score”)0then
response.writers(“user”)&
“的测验成就是”&rs(“score”)
else
session("pass")=1
session(“user”)=name
response.redirect“test.asp”
endif
else
Response.Write"对不起,
用户或口令不准确!!!"
endif
else
endif
%>
<HTML>
<HEAD>
<METANAME="GENERATOR"
Content="MicrosoftVisualStudio6.0">
<TITLE>用户口令反省</TITLE>
</HEAD>
<BODY>
<FORMaction="login.asp"id=FORM1
method=postname=FORM1>
<Ptitle=""></P>
<Ptitle=""></P>
<Ptitle=""align=center>用户:
<INPUTid=text1name=name
style="HEIGHT:22px;WIDTH:103px"></P>
<Ptitle=""align=center>口令:
<INPUTid=password1name=passwd
style="HEIGHT:23px;WIDTH:101px"
type=password></P>
<Ptitle=""align=center>
<INPUTid=submit1name=submit1
type=submitvalue="进进"style="FONT-SIZE:
medium;FONT-STYLE:normal;
FONT-VARIANT:normal;FONT-WEIGHT:
bold"title=""></P>
<Ptitle=""align=center>
</P>
</FORM>
</BODY>
</HTML>
‘test.asp源程序,从题库中提取试题供解答
<%@Language=VBScript%>
<%
ifsession(“pass”)1then
response.redirect“login.asp”
else
endif
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"driver={MicrosoftAccessDriver
(*.mdb)};dbq="&
Server.MapPath("exercise.mdb")
‘提取试题
sql="select*fromtest"
Setrs=conn.Execute(sql)
%>
‘计时函数
<SCRIPTLANGUAGE="JavaScript">
varisn1=null;
varisn2=false;
today=newDate();
functionstopit(){
if(isn2){
clearTimeout(isn1);
}
isn2=false;
}
functionstartit(){
stopit();
isnclock();
}
functionisnclock(){
varnow=newDate();
varhrs=now.getHours();
varmin=now.getMinutes();
varsec=now.getSeconds();
document.clckh.disp.value=""+((hrs>12)?
hrs-12:hrs);
document.clckm.disp.value=((min<10)?"0":"")+min;
document.clcks.disp.value=((sec<10)?"0":"")+sec;
document.clck.disp.value=(hrs>=12)?"p.m.":"a.m.";
isn1=setTimeout("isnclock()",1000);
isn2=true;
}
</SCRIPT>
<HTML>
<HEAD>
<METANAME="GENERATOR"
Content="MicrosoftVisualStudio6.0">
</HEAD>
<BODYBGCOLOR="FFFFFF">
<center>
‘挪用计时函数显现工夫
<TABLEBORDER=2>
<TR>
<TD>Time</TD><TD>Hour</TD><TD>Min
</TD><TD>Sec</TD><TD></TD>
</TR>
<TR>
<TD></TD>
<TDVALIGN=TOP><FORMNAME="clckh">
<INPUTTYPE="text"NAME="disp"SIZE=2VALUE="">
</FORM></TD>
<TDVALIGN=TOP><FORMNAME="clckm">
<INPUTTYPE="text"NAME="disp"SIZE=2VALUE="">
</FORM></TD>
<TDVALIGN=TOP><FORMNAME="clcks">
<INPUTTYPE="text"NAME="disp"SIZE=2VALUE="">
</FORM></TD>
<TDVALIGN=TOP><FORMNAME="clck"
>
<INPUTTYPE="text"NAME="disp"SIZE=4VALUE="">
</FORM></TD></TR>
</p>结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
页:
[1]