|
ASP世界
用ASP实现一个真正的注册页面
(一),设定注册页面的外观: 在这个例子中涉及了五个页面,其中有三幅是一般的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 '否则就说明注册成功,可以进入浏览页面! %> '这里采用了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 %> <font face=楷体_gb2312 size=5>您的帐号和密码已经注册成功,您现在可以<a href="http://your/index.htm">进入</a>了!</font> </body></html> |