|
Checkuser.asp 在应用程序的开始,访问者键入了他们的口令之后,他们的细节被指向了一页,如sendregister.asp,来检验一下具体 的用户名和口令在数据库中是否存在。 sql_check = "select count(*) from loginuser where username ='" & _ username &"' and password = '" & useremail &"'" Set RS_check = Application("Conn").Execute(sql_check) If RS_check(0) < > 0 Then Session("username") = request.form("username") response.redirect "default.asp" End If If RS_check(0) = 0 Then Session("error") = "WRONG USER NAME OR PASSWORD" response.redirect "index.asp" End If sql命令检查一个特定的用户是否已经注册了。如果返回值为0,就表明用户名或email 无效,将用户引导回注册页。 如果是会员,就被引导到default.asp 页。这一次又用到了替换函数,以保证如果会员键入了‘ (单引号),就要用'' (双引号)来替换。 username = replace(request.form("username"),"'","''") useremail = replace(request.form("password"),"'","''") 选择一个测验 Default.asp 一旦成功登录,就出现第二个界面,提供会员可以选择的测验科目的列表。在本例中,我们有HTML 和DHTML ,当然可 以增加表格以提高主题数。Default.asp 要求表格安装一个下拉菜单,其中包含主题的列表。查询数据库,从试卷的表格 中搜集两个域。 sql_papers = "select *id, topic from paper sort order by topic asc" SET RS_papers = Application("Conn").Execute(sql_papers) 为了在下拉菜单中显示结果,使用以下代码: SELECT size=1 name=select1 onchange="msec(document.form1._ select1.options[document.form1.select1.selectedIndex].value);" > < option value="0" >Select the examination < %Do while not RS_papers.EOF% > < option value="< %=RS_papers("id")% >" >< %=lcase(RS_papers("topic"))% >< /OPTION > < % RS_papers.MoveNext Loop % > msec函数在X值的基础上调用 redirect.asp,把查询字符串: ?x 的值作为下拉菜单中被选择的项的值。 function msec(x) {if (x==0) { alert("Please select any one of the Examinations") } else { location.href="redirect.asp?section=" + x } }
|