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
}
}