日期:2010-05-13  浏览次数:20877 次

  本文所介绍的应用程序是以ASP编程的初学者为读者的。虽然这个例子非常简单,但是它对于那些试图在线对他们的雇员、学生或客户进行考试的组织是非常有用的。

  关于这个应用程序

  我们的应用程序中的第一个界面包含在index.asp 中,由一个注册页组成,其中有两个输入域,一个是用户名,另一个是口令。非会员要想参加考试的话必须要注册。这一页是初始屏幕,为用户提供用户名和口令的输入框。

  需要注意的是,这两个将要批准的会员域应该有客户机端的JavaScript 确认,以便不把它们作为空白域来传递。
if (theForm.username.value == "")
{
alert("Please enter the \"User Name\"");
theForm.username.focus();
return (false);
}
if (theForm.password.value == "")
{
alert("Please enter the \"Password\"");
theForm.password.focus();
return (false);
}

  创建这些域的HTML代码如下:

< table border="0" cellpadding="0" >
< tr >
< td width="50%" >
< font face="Verdana" size="2" >User Name : < /font >
< /td >
< td width="50%" >
< font face="Verdana" size="2" >< input type=text name=username
size=20 maxlength=50 >< /font >
< /td >
< /tr >
< tr >
< td width="50%" >
< font face="Verdana" size="2" >Password :< /font >
< /td >
< td width="50%" >
< font face="Vedana" size=2 >< input type=password name=password
size=20 maxlength= 50 >< /font >
< /td >
< /tr >
< tr >
< td width="100%" colspan="2" align="center" >
< font face="Verdana" size="2" >< br > < input type="submit" value="Submit" name="B3" >
< input type="reset" value="Reset" name="B4" >
< /font >
< /td >
< /tr >
< /table >
  要注意这个ASP页多多少少是一个HTML页面,作为ASP页的原因是要显示错误信息,例如“错误的用户名或口令或选择一个新用户名”,或者是需要显示的其它任何信息。注册表单中包含一些个人信息,如姓名、Email 、口令等。同样可以从访问者得到关于年龄、教育程度、职业等方面的信息。一旦成功的输入了个人信息,访问者就成为一名会员,可以使用站点的其它部分了。根据应用程序的设计要求,这些域可以是必须输入的,也可以不是。

  登录代码Register.asp

  当一个新的访问者注册了一个在线考试时就显示这一页。它可能会要求大量的个人信息,但是在本例中只要求姓名、Email 和口令。表单提交后,用户被引领至sendregister.asp。

  Sendregister.asp

  这一页从register.asp 中取得表单域的内容,将它们插入数据库中。要注意用户名必须是唯一的。所以,首先查询要验证输入的用户名是否已经存在。如果是的话,用户被重新引回register.asp 页,并被要求选择另一个用户名。如果用户名是新的,输入的内容就被传递给数据库。
sql_findmember = "select count(*) from loginuser where username = " & username &""
Set RS_findmember = Application("Conn").Execute(sql_findmember)
If RS_findmember(0) < > 0 Then
Session("message") = "THE ENTRY HAD BEEN INSERTED EARLIER .. Please try another log in name"
response.redirect "register.asp"
End If
If RS_findmember(0) = 0 Then
sql_insert = "insert into loginuser (username,useremail,password) _
values(" & username & "," & useremail & ", " & pwd &") "
Set RS_insert = Application("Conn").Execute(sql_insert)
Session("message") = "THE ENTRY HAS BEEN INSERTED .. Thank You"
response.redirect "index.asp"
End If

  这样,如果RS_findmember(0) 返回的值是0,就表示用户名在数据库中不存在,名字就被输入了。会员就可以使用站点的其它部分了。反之,如果RS_findmember(0) 返回的值大于0,用户就被引导回注册主页,并被要求填写一个新的用户名。

  还要注意,在向数据库中插入数据之前有一些事情需要警惕。替换函数用来确保当访问者键入了"",就需要用代替。

username = replace(request.form("txt_name"),"","")


  Checkuser.asp

  在应用程序的开始,访问者键入了他们的口令之后,他们的细节被指向了一页,