编程开发 > ASP > 文章内容

如何用ASP实现一个真正的注册页面

2012-4-10编辑:zwj
(一),设定注册页面的外观:

            在这个例子中涉及了五个页面,其中有三幅是一般的htm文件,另外的两幅是asp文件,在这里制作利用的工具是frontpage98,但是大部分的asp代码还是要自己输入的:

        1,设定原来已经注册的用户进入的外观:在这里设置了两个文本框,一个超级链接和两个按钮。两个文本框分别用来输入帐号(txtNum)和密码(txtPasswd),超级链接(New)链接到新用户进行注册的页面,两个按钮是用来提交和清除的,用来清除的按钮(cmdReset)直接选择为Reset类型,不过用来提交的按钮(cmdTijiao)并不要选择为Submit类型,而选择的是Normal类型,这是为了在这个按钮的onClick事件中添加代码,并且判断用户的输入是否合法!

        2,设定新用户登陆的页面外观:一般都是要新用户输入帐号,密码,姓名,及相关的一些信息,在这里我们有五个文本框,一个下拉式列表框和两个按钮,五个文本框就分别是让用户输入姓名,email,帐号,密码,确定密码。但是其中只有用来输入帐号,密码和确定密码的文本框有名字,分别为txtNum,txtPasswd和txtConfirm。提交按钮的名字为cmdTijiao

        3,这一步当然是设定注册成功后用户所进的页面了,这就由大家决定吧:)

    (二),添加程序代码:

        1,首先添加原来已经注册用户页面的代码,它主要是处理cmdTijiao_onClick事件,并且判断用户的输入是否合法,在这个例子中要求帐号必须是数字,密码不能为空,代码如下,其中frmRes是这个页面中窗口的名字,窗口的Action指向http://your/ResJudge.asp

               sub cmdTijiao_onClick()
               if frmRes.txtNum.value="" or frmRes.txtPasswd.value="" or (Not IsNumeric(frmRes.txtNum.value)) then
                  Alert"请在帐号和密码中输入相应的内容,帐号必须为数字!"
              else frmRes.submit
              end if
              end sub
               2,添加新用户登陆的页面代码,这些代码是用来处理cmdTijiao_onClick事件的,要求用户输入的帐号必须是数字,密码和确定密码必须相同,这个页面的窗口的Action指向http://your/NewRes.asp,代码如下:

       sub cmdTijiao_onClick()
              if Not IsNumeric(frmNew.txtNum.value) or frmNew.txtPasswd.value<>frmNew.txtConfirm.value then
                 Alert"输入不正确,请重新输入!"
              else frmNew.submit
              end if
              end sub
              3,创建ResJudge.asp文件,这个asp文件的主要功能就是打开存储注册信息的数据库,查找是否有与前面页面提交的帐号和密码相匹配的纪录,如果有,就是注册成功,同时也可以在数据库中查找出这个用户的相关信息来,应允许这个用户进入他所希望进去的页面,如果没有则注册失败,整个代码如下:

      <html><head>
           <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
           <meta name="GENERATOR" content="Microsoft Fronpage 3.0">
           <titile>注册判断</title></head>
           <body><%
           Num=Request.form("txtNum")              "把前面窗口传送来的内容赋给Num和Passwd两个字符串。
           Passwd=Request.form("txtPasswd")
           dbname="Driver={Microsoft Access Driver(*.mdb)};DBQ="&Server.MapPath("\")"&"\ResDb\Res.mdb;"           "dbname是打开数据库要用的
       set Cres=Server.CreateObject("ADODB.Connection")       "以下是利用Connection对像和Recordset对象联结数据库并查找的代码。
           set res=Server.CreateObject("ADODB.Recordset")
           Cres.open dbname
           res.ActiveConnection=Cres

           res.source="Select*from res where 帐号='"&Num&"' and 密码='"&Passwd&'";"
           res.open
           if res.BOF then            "如果查找结果为空,那么就说明注册不正确,所以在页面中显示下面的文本/
           %><p>注册不正确, 请返回注册页面重新注册!</p>
           <%
           else                   “否则就说明注册成功,可以进入浏览页面!
      %>
           <!--#Include virtual="/success.htm"-->           "这里采用了Server Side Include的方法,把允许浏览的页面包含在这个文件里面!
           <%  res.Close              “ 关闭刚才打开的数据库。
           end if %>
           </body></html>
           4,创建 NewRes.asp文件,这个文件的主要功能是把新用户的登陆信息存入数据库,代码如下:

           <html><head>
           <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
           <meta name="GENERATOR" content="Microsoft frontpage 3.0">
           <title>输入数据库</title></head>
           <body><!--#Include virtual="/adovbs.inc">           “这个被包含进来的文件adovbs.inc是定义数据库对象ADO常量的文件。
      <%
           Num=Request.form("txtNum")              “把前面主页传送过来的内容赋给Num和Passwd两个变量。
       Passwd=Request.form("txtPasswd")
           Set res=Server.CreateObject("ADODB.Recordset")              “打开数据库。
           dbname="Driver={Microsoft Access Driver(*.mdb)};DBQ="&ServerMapPath("\")&"\ResDb\Res.mdb;"
           sql="select*from res"
           res.open sql,dbName,adOpenKeyset,adLockOptimistic
           res.AddNew             “添加新纪录
      res(1)=Num              “res(1)代表数据库中的第二个字段,存储的是用户的帐号。
           res(2)=Passwd           “res(2)代表数据库中的第三个字段,存储的是用户的密码。
           res.Update                  “更新数据库/
           res.Close   %>
           <p><b><font size=5>您的帐号和密码已经注册成功,您现在可以<a href="http://your/index.htm">进入</a>了!</font></p>        
           </body></html>
怎样防范SQl注入

热点推荐

登录注册
触屏版电脑版网站地图