|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。 |
|