【说明】访问某聊天系统必须先注册,然后登录才可进行聊天。图4-1为注册页面,注册时需要输入用户名和密码及性别信息,数据库将记录这些信息。表4-1为利用Microsoftaccess创建的数据库msg,数据库记录用户名、密码、性别、登录时间,IP地址及状态信息. 表4-1数据库创建的字段 以下是图4-1所示页面的部分代码,请仔细阅读该段代码,将(1)-(6)的空缺代码补齐。<%SetMM_editCmd=Server.CreateObject("ADODB.Command")MM-editCmd.ActiveConnection=MM_connbbs_STRINGMM_editCmd.CommandText="INSERTINTOmsg([user],upass,sex)VALUES(?,?,?)"MM_editCmd.PrePared=trueMM_editCmd.Parameters.AppendMM_editCmd.CreateParameter("param1",202,1,225,Request.Form("user"))'adVarWCharMM_editCmd.Parameters.AppendMM_editCmd.CreateParameter("param2",202,1,225,Request.Form("(1)"))'adVarWCharMM_editCmd.Parameters.AppendMM_editCmd.CreateParameter("param3",202,1,225,Request.Form("sex"))'adVarWCharMM_editCmd.ExecuteMM_editCmd.ActiveConnection.Close%><body><fromACTION="<%=MM_editAction%>"METHOD="(2)"id="form1"name="form1"><palign="center">欢迎注册</p><tablewidth="500"border="0"align="center"cellpadding="1"cellspacing="2"><tr><td><divalign="right">请输入用户名</div></td><td><inputtype="text"name="(3)"id="user"/></td></tr><tr><td><divalign="right">请输入密码</div></td><td><inputtype="(4)"name="upass"id="upass"/></td></tr><tr><td><divalign="right">重复输入密码</div></td><td><inputtype="text"name="pass2"id="pass2"/></td></tr><tr><td><divalign="right">请输入性别</div></td><td><inputname="sex"type="radio"id="radio"value="(5)"/><lablefor="sex">男<inputtype="radio"name="sex"id="radio2"value="female"/>女</label></td></tr><tr><inputtype="submit"name="button"id="button"value="提交"/><inputtype="(6)"name="button2"id="button2"value="重置"/></td></tr></table>(1)~(6)备选答案:A.resetB.maleC.postD.textE.userF.upass【问题2】(9分)用户注册成功后的登录页面如图4-2所示。系统检查登录信息与数据库存储信息是否一致,如果一致则转到登录成功页面succ.asp。如果不一致则显示"警告:您输入的信息有误!"下面是信息显示页面的部分代码,请将下面代码补充完整。 <%Setconn=server.createobject("adodb.connection")Conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\wwwroot\bbs.mdb"Ifrequest.form("user")<>""thenU=request.form("user")P=request.form("upass")S=request.form("sex")Setrs=server.createobject("adodb.recordset")rs.open"select"*frommsgwhere(7)="&u&"and(8)="&p&"andSex="&s&""",conn,1,3If.rs.(9)andrs.bofthenResponse.(10)("警告:您输入的信息有误!")Elsers("t")=(11)()rs("(12)")=request.ServerVariables("remote_host")rs("zt")=1rs.updatesession("user")=usession("(13)")=sresponse.(14)"suss.asp"endifrs.close()setrs=nothingendif%> <body><formid="form1"name="form1"method="post"action="user.asp"><palign="center">欢迎登陆</p><divalign="center"<td><divalign="right">输入用户名</div></td><td><labelfor="user"></label><inputtype="text"name="user"id="user"/> </td><td><divalign="right">输入密码</div></td><td><labelfor="upass"></label> <inputtype="text"name="upass"id="upass"/></td><td><divalign="right">您的性别</div></td><td><inputname="sex"type="radio"id="radio"value="male"checked="(15)"/><labelfor="sex">男<inputtype="radio"name="sex"id="radio2"value="female"/>女</label></td><td></td><td><inputtype="submit"name="button"id="button"value="登陆"/><inputname="button2"type="submit"id="button2"onclick="MM_goToURL('parent',index.asp');returndocument.MM_returnValue"value="返回"/></td></tr>(7)~(15)备选答案:A.nowB.ipC.checkedD.eofE.upassF.userG.writeH.sexI.redirect
【问题1】每空1分,(1)F (2)C (3) E (4)D (5)B (6)A【问题2】 (7)F (8) E (9)D (10) G (11)A (12)B (13)H (14)I (15)C 【解析】 【问题1】结合截图和代码可以知道,(1)这里应该是输入的密码,查找上下文,可以再<input type=" ( 4 )"name="upass"id="upass"/> 这一行找到name属性石upass。(2)是form的提交方式,只有post可以选。 (3)对应前面的form表单中的"Request.Form("user"))'adVarWChar"可以确定是 user,同理,第(4)结合上下文可以知道是text类型的。第(5)结合表4-1中用户性别,male和female和上下文,就可以确定为男时,应该用male。第(6)空的重置就是reset。【问题2】这里需要了解asp通过sql操作数据的基本命令代码,(7)所在的位置应该是一个字段,从后面的&u&这个代码可以看出,这里连接的字符是用户输入的用户名,因此查找表4-1中对应的用户名字段是user,同样的(8)是upass,(9)空这里是一个特殊的情况,用bof和eof同时判断为真,那这个记录集就是一个空集,也就是找不到对应的信息。 (10)空是为了输出一个信息,可以用response.write. (11)的位置为用户存在的情况下,保存用户的一些信息,如登录的时间,IP地址和状态等,结合表4-1中t这一项的意思和选项以及11空后面的括号,这里应该是一个asp内置的函数,只有now()才能获得当前的时间。(12)查表4-1知道,这个部分要保存的远端主机的IP地址,因此是IP。(13)从S=request.form("sex") 可以知道,这里保存的是性别,也就是sex。(14)登录成功,转向新的页面,因此事redirect。15空只剩下C了。