您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 【Dreamweaver+ASP】【第9章 用户注册和登入验证】
第9章用户注册和登入验证一个交互性较好的网站,用户登入验证功能是不可或缺的。实现了这个功能,可以很容易做到对特殊频道的权限控制。例如在一些提供影视服务的网站中,用于确定某些收费频道。用户注册和登入验证的整个过程并不复杂,其原理也很容易理解。借助程序将浏览者输入的帐号和密码与数据库中存储的资料进行核对。如若数据库中存在此用户的资料就通过,否则被拒绝。9.1用户资料库的设计了解了用户注册和登入验证机制的原理,就应该明确创建一个用户资料库是必须的。下面就具体来介绍整个用户资料库(Access数据库)的设计流程。(1)单击【开始】|【程序】|【MicrosoftOffice】|【MicrosoftOfficeAccess2003】命令,打开【MicrosoftAccess】窗口。(2)单击【新建文件】|【空数据库】命令,弹出【文件新建数据库】对话框。可以根据实际情况,保存到相应位置。并在【文件名】文本框中输入数据库文件名,例如“user.mdb”,如图9.1所示。图9.1【文件新建数据库】对话框(3)单击【创建】按钮,弹出【user:数据库(Access2000文件格式)】窗口,如图9.2所示。·170·图9.2【user:数据库(Access2000文件格式)】窗口(4)单击【使用设计器创建表】按钮,弹出【表1:表】设计窗口。单击【文件】|【保存】命令,把表进行重新命名,例如“tb_user”。(5)在【tb_user:表】设计窗口中按照表9.1所示定义所有字段信息。表9.1【tb_user:表】所有字段信息字段名称数据类型说明id自动编号用户记录编号name文本用户帐号pswd文本用户口令dt日期/时间注册日期(6)选择“dt”字段,在【默认值】文本框中输入“now()”。目的是把当前时间做为记录新增时,“dt”字段的默认值,如图9.3所示。(7)右击“id”字段,选择【主键】命令,为表设置主键,如图9.4所示。图9.3“dt”字段的默认值设置图9.4为表设置主键(8)单击窗口右上角的【关闭】按钮,系统会提示保存所做的修改。返回到【user:数据库(Access2000文件格式)】窗口,会发现所设计的表“tb_user”已经存在于当中,如图9.5所示。(9)在实际操作中,可以双击打开“tb_user”表记录管理窗口。在这个窗口中,可以选择录入、编辑或者删除一些记录信息,如图9.6所示。·171·图9.5【user:数据库(Access2000文件格式)】窗口图9.6“tb_user”表记录管理窗口(10)打开Dreamweaver的设计界面。单击【文件】|【新建】命令,新建一个标准ASP文件。(11)单击【窗口】|【数据库】命令,弹出【应用程序】面板,如图9.7所示。(12)单击【+】|【自定义连接字符串】命令,弹出【自定义连接字符串】对话框。在【连接名称】文本框中输入“conn”。在【连接字符串】文本框中输入“Driver={MicrosoftAccessDriver(*.mdb)};DBQ=i:\site\data\user.mdb”。选中【Dreamweaver应连接】选项组下的【使用此计算机的驱动程序】选项,如图9.8所示。图9.7【应用程序】面板图9.8【自定义连接字符串】对话框(13)单击【测试】按钮,如果连接创建成功,将弹出如图9.9所示的对话框。(14)单击【确定】按钮,关闭【自定义连接字符串】对话框。返回【应用程序】面板,向导将自动在其下拉列表中添加一条【conn】的列表选项,如图9.10所示。·172·图9.9连接创建成功提示图9.10【应用程序】面板(15)单击【窗口】|【文件】命令,弹出【文件】窗口。将看到在站点目录下会自动创建一个名为“Connections”的文件夹。在其下将会新增一个名为“conn.asp”的文件,如图9.11所示。图9.11【文件】列表面板9.2用户注册信息分页显示功能当需要显示的信息较多时,如果在同一页显示,将会造成页面提及太大,造成用户长时间等待。通常,对于信息较多时,都使用分页显示技术,每页只显示指定的记录数目。这样,既降低了数据的传输量,也方便用户浏览数据。本节将讲解如何分页显示用户注册信息。9.2.1用户注册信息分页列表list.asp分页列表设计比较简单,难点在于频繁进行数据绑定。具体操作步骤如下。(1)打开Dreamweaver的设计界面。单击【文件】|【新建】命令,新建一个名为“list.asp”的标准ASP文件。(2)单击Dreamweaver【插入】工具栏中【常用】|【表格】命令。在弹出的【表格】对话框中进行相应设置,在【文档】窗口中插入了一些表格用于定位。(3)根据实际情况,可以对特定的单元格进行宽度和背景图片的指定,来修饰表格的外观。在此基础上,再对单元格行适当的排版,录入相应的文字信息具体效果如图9.12所示。·173·图9.12用户注册信息分页列表页面排版(4)单击【窗口】|【绑定】命令,弹出【应用程序】面板,如图9.13所示。(5)单击【+】|【记录集(查询)】命令,弹出【记录集】对话框。在【名称】文本框中输入“rs”。在【连接】下拉列表中选择【conn】选项。【表格】下拉列表中选择【tb_user】选项。然后单击在其右侧的【select】按钮。Dreamweave自动将会在【SQL】文本框中输入“SELECT*FROMtb_user”,如图9.14所示。图9.13【绑定】命令图9.14【记录集】对话框(6)单击【测试】按钮,如果记录集创建成功,将弹出如图9.15所示的对话框。(7)单击【确定】按钮,关闭【记录集】对话框。返回【应用程序】面板,向导将自动在其下拉列表中添加一条【rs】的列表选项,如图9.16所示。·174·图9.15记录集创建测试图9.16【应用程序】面板(8)在显示“编号”所对应的表格单元格中单击鼠标。在【应用程序】面板中选中【记录集(rs)】|【id】选项。单击【插入】按钮,把“id”字段插入到单元格中,如图9.17所示。图9.17插入记录集字段(9)用上述同样的的方法,在各个字段对应的单元格中插入记录集字段。其中包括“用户帐号”、“登入口令”、“注册时间”,如图9.18所示。·175·图9.18插入所有记录集字段(10)单击【窗口】|【服务器行为】命令,弹出【应用程序】面板,如图9.19所示。(11)直接通过鼠标或者借助【标签选择器】选中表格内用于显示数据的所有单元格,如图9.20所示。(12)单击【+】|【重复区域】命令,弹出【重复区域】对话框。在【记录集】下拉列表中选择【rs】选项。在【显示】选项组文本框中输入“2”,如图9.21所示。图9.19【应用程序】面板图9.20标签选择器图9.21【重复区域】对话框(13)单击【确定】按钮,关闭对话框。启动InternetExplorer,在地址栏中输入“”。将会看到如图9.22所示的效果。·176·图9.22查看(14)把鼠标定位到用于放置分页信息的区域。单击【插入】|【应用程序对象】|【显示记录记数】|【记录集导航状态】命令,弹出【RecordsetNavigationStates】对话框。在【Recordset】下拉列表中选择【rs】选项,如图9.23所示。图9.23【RecordsetNavigationStates】对话框(15)单击【确定】按钮,关闭对话框。Dreamweave将在文档窗口中自动插入一排用于记录统计的信息,如图9.24所示。图9.24插入记录集导航状态(16)把鼠标定位到用于放置分页控制的按钮区域。单击【插入】|【应用程序对象】|【记录集分·177·页】|【记录集导航条】命令,弹出【记录集导航条】对话框。在【记录集】下拉列表中选择【rs】选项。在【显示方式】选项组中选中【文本】选项,如图9.25所示。图9.25【记录集导航条】对话框(17)单击【确定】按钮,关闭对话框。Dreamweave将在文档窗口中自动插入一排用于翻页控制的导航条,如图9.26所示。图9.26插入记录集导航条9.2.2测试用户注册信息分页显示功能启动InternetExplorer,在地址栏中输入“”。将会看到如图9.27所示的效果。·178·图9.27查看“”9.2.3生成代码分析——用户注册信息分页列表页面(list.asp)用户注册信息分页列表页面(list.asp),完整代码如下:%@LANGUAGE=VBSCRIPTCODEPAGE=936%!--#includefile=Connections/conn.asp--!--包含数据库链接文件--%Dimrs'定义记录集变量Dimrs_numRows'定义记录当前记录位置的变量Setrs=Server.CreateObject(ADODB.Recordset)'建立记录集对象rs.ActiveConnection=MM_conn_STRING'指定数据库链接字符串rs.Source=SELECT*FROMtb_user'构建SQL语句rs.CursorType=0rs.CursorLocation=2rs.LockType=1rs.Open()'获取记录rs_numRows=0%%DimRepeat1__numRows'定义显示记录的总数目变量DimRepeat1__index'定义显示记录的数目变量Repeat1__numRows=3'设定本次显示三个记录Repeat1__index=0rs_numRows=rs_numRows+Repeat1__numRows%%'***RecordsetStats,MoveToRecord,andGoToRecord:declarestatsvariablesDimrs_total'定义记录总数变量Dimrs_first'定义初始行变量Dimrs_last'定义结束行变量rs_total=rs.RecordCount'获取记录集总数以下代码设置当前页显示记录的行数。If(rs_numRows0)Then'如果记录行数小于0·179·rs_numRows=rs_total'获取记录总数Elseif(rs_numRows=0)Then'如果记录行数等于0rs_numRows=1'设定记录行数为1EndIf以下代码计算当前页显示记录的开始行和结束行数值。rs_first=1'设置开始行为1rs_last=rs_first+rs_numRows-1'计算结束行If(rs_total-1)Then'如果记录集总数正确If(rs_firstrs_total)Then'如果开始行数大于记录总数rs_first=rs_total'设置开始行为最后一行EndIfIf(rs_lastrs_total)Then'如果结束行数大于记录总数rs_last=rs_total'设置结束行为最后一行EndIfIf(rs_numRowsrs_total)Then'如果当前记录行数大于记录总数rs_numRows=rs_total'设置为当前记录为最后一行EndIfEndIf%%如果获取的记录总数不正确,则采用循环的方式,重新计算记录的总数。If(rs_total=-1)Then'如果获取的记录总数为-1rs_total=0'设置记录总数为0While(Notrs.EOF)''依次循环访问每个记录rs_total=rs_total+1'记录总数加1rs.MoveNext'访问下一个记录WendIf(rs.CursorType0)Thenrs.MoveFirst'访问第一个记录Elsers.Requery'重新查询EndIfIf(rs_numRowsrs_total)Then'如果当前记录行数大于记录总数rs_numRows=rs_totalEndIfrs_first=1'
本文标题:【Dreamweaver+ASP】【第9章 用户注册和登入验证】
链接地址:https://www.777doc.com/doc-4888255 .html