文章教程

4.5查询密码功能

9/17/2020 9:45:44 PM 人评论 次浏览

4.5 查询密码功能

用户注册页面通常会设计问题和答案文本框,它们的作用是当用户忘记密码时,可以通过这个问题和答案到服务器中找回遗失的密码。实现的方法是判断用户提供的答案和数据库中答案是否相同,如果相同,则可以找回遗失的密码。

4.5.1 查询密码页面

本节主要制作密码查询页面lostpassword.php,具体的制作步骤如下:


01 执行菜单栏“文件”→“新建”命令,在网站根目录下新建一个名为lostpassword.php的网页并保存。lostpassword.php页面是用来让用户提交要查询遗失密码的用户名的页面。该网页的结构比较简单,设计后的效果如图4-70所示。

alt

图4-70 lostpassword.php页面

02 在“文档”窗口中选中表单对象,然后在其对应的“属性”面板中,在“表单名称”文本框中输入form1,在“动作”文本框中输入showquestion.php作为该表单提交的对象页面。在“方法”下拉列表框中选择POST作为该表单的提交方式,接下来将输入用户名的文本域命名为inputname,如图4-71所示。

alt

alt

图4-71 设置表单提交的动态属性

其中,表单属性设置面板中的主要选项作用如下:


(1)在“表单ID”文本框中输入标志该表单的惟一名称,命名表单后就可以使用脚本语言引用或控制该表单。如果不命名表单,则Dreamweaver使用语法form1、form2、….生成一个名称,并在向页面中添加每个表单时递增n的值。

(2)在“方法”下拉列表框中,选择将表单数据传输到服务器的方法。POST方法将在HTTP请求中嵌入表单数据。GET方法将表单数据附加到请求该页面的URL中,是默认设置,但其缺点是表单数据不能太长,所以本例选择POST方法。

(3)“目标”下拉列表框用于指定返回窗口的显示方式,各目标值含义如下:


● _blank在未命名的新窗口中打开目标文档。

● _parent在显示当前文档的窗口的父窗口中打开目标文档。

● _self在提交表单所使用的窗口中打开目标文档。

● _top在当前窗口的窗体内打开目标文档。此值可用于确保目标文档占用整个窗口,即使原始文档显示在框架中。


用户在lostpassword.php页面中输入用户名,并单击“提交”按钮后,这时会通过表单将用户名提交到showquestion.php页面中,该页面的作用就是根据用户名从数据库中找到对应的提示问题并显示在showquestion.php页面中,使用户可以在该页面中输入问题的答案。下面就制作显示问题的页面。


03 新建一个文档。设置好网页属性后,输入网页标题“查询问题”,执行菜单栏“文件”→“保存”命令,将该文档保存为showquestion.php。

04 在Dreamweaver制作静态网页,完成的效果如图4-72所示。

alt

图4-72 showquestion.php静态设计

05 在“文档”窗口中选中表单对象,在其对应的“属性”面板中,“动作”文本框中输入showpassword.php作为该表单提交的对象页面。在“方法”下拉列表框中选择POST作为该表单的提交方式,如图4-73所示。接下来将输入密码提示问题答案的文本域命名为inputanswer。

alt

图4-73 设置表单提交的属性

06 执行菜单栏“窗口”→“绑定”命令,打开“绑定”面板,单击该面板上alt按钮,在弹出的下拉菜单中选择“记录集(查询)”选项,则会打开“记录集”对话框。

07 在该对话框中进行如下设置:


● 在“名称”文本框中输入Recordset1作为该记录集的名称。

● 从“连接”下拉列表框中选择数据源连接对象为mymember。

● 从“表格”下拉列表框中,选择使用的数据库表对象为member。

● 在“列”栏中选中“选定的”单选按钮,然后从下拉列表框中选择username和question。

● 在“筛选”栏中,设置记录集过滤的条件为username=表单变量/inputname,表示根据数据库中username字段的内容是否和从上一个网页中的表单中的inputname表单对象传递过来的信息完全一致来过滤记录对象。


完成后的设置如图4-74所示。

alt

图4-74 “记录集”对话框

08 设置完成后,单击该对话框上的“确定”按钮,关闭该对话框。返回到“文档”窗口。

09 将Recordset1记录集中的question字段绑定到页面上相应的位置,如图4-75所示。

alt

图4-75 绑定字段

10 执行菜单栏“插入”→“表单”→“隐藏域”命令,在表单中插入一个表单隐藏域,然后将该隐藏域的名称设置为username。

11 选中该隐藏域,转到“绑定”面板,将Recordset1记录集中的username字段绑定到该表单隐藏域中,如图4-76所示。

alt

图4-76 添加表单隐藏域


注意

当用户输入的用户名不存在时,即记录集Recordset1为空时,就会导致该页面不能正常显示,这就需要设置隐藏区域。


12 在“文档”窗口中选中当用户输入用户名存在时显示的内容即整个表单,然后单击“服务器行为”面板上alt按钮,在弹出的下拉菜单中执行“显示区域”→“如果记录集不为空则显示区域”命令,则会打开“如果记录集不为空则显示”对话框,在该对话框中选择记录集对象为Recordset1。这样只有当记录集Recordset1不为空时,才显示出来,如图4-77所示。设置完成后,单击“确定”按钮,关闭该对话框,返回到“文档”窗口。

alt

图4-77 “如果记录集不为空则显示”对话框

13 在网页中编辑显示用户名不存在时的文本“该用户名不存在!”,并为这些内容设置一个“如果记录集为空则显示区域”隐藏区域服务器行为,这样当记录集Recordset1为空时,显示这些文本,完成后的网页如图4-78所示。

alt

图4-78 设置隐藏区域

4.5.2 完善查询功能

当用户在showquestion.php页面中输入答案,单击“提交”按钮后,服务器就会把用户名和密码提示问题答案提交到showpassword.php页面中。

下面介绍如何设计该页面,具体制作步骤如下:


01 执行菜单栏“文件”→“新建”命令,在网站根目录下新建一个名为showpassword.php的网页并保存。

02 在Dreamweaver中使用提供的制作静态网页的工具完成如图4-79所示的静态部分。

alt

图4-79 showpassword.php静态设计

03 执行菜单栏“窗口”→“绑定”命令,打开“绑定”面板,单击该面板上alt按钮,在弹出的下拉菜单中选择“记录集(查询)”选项,则会打开“记录集”对话框。

04 在该对话框中进行如下设置:


● 在“名称”文本框中输入Recordset1作为该记录集的名称。

● 从“连接”下拉列表框中,选择数据源连接对象mymember。

● 从“表格”下拉列表框中,选择使用的数据库表对象为member。

● 在“列”栏中先选择“选定的”单选按钮,然后选择字段列表框中的username、password和answer等3个字段就行了。

● 在“筛选”栏中设置记录集过滤的条件:answer=表单变量/inputanswer,表示根据数据库中answer字段的内容是从上一个网页中的表单中的inputanswer表单对象传递过来的信息是否完全一致来过滤记录对象。


完成的设置情况如图4-80所示。

alt

图4-80 设置“记录集”对话框

05 单击“确定”按钮,关闭该对话框,返回到“文档”窗口。

06 将记录集中username和password两个字段分别添加到网页中,如图4-81所示。

alt

图4-81 加入的记录集效果

07 同样需要根据记录集Recordset1是否为空,为该网页中的内容设置隐藏区域的服务器行为。在“文档”窗口中,选中当用户输入密码提示问题答案正确时显示的内容,然后单击“服务器行为”面板上alt按钮,在弹出的下拉菜单中执行“显示区域”→“如果记录集不为空则显示区域”命令,打开“如果记录集不为空则显示”对话框,在该对话框中选择记录集对象为Recordset1。这样只有当记录集Recordset1不为空时,才显示出来,如图4-82所示。设置完成后,单击“确定”按钮,关闭该对话框,返回到“文档”窗口。

alt

图4-82 “如果记录集不为空则显示”对话框

08 在网页中选择当用户输入密码提示问题答案不正确时显示的内容,并为这些内容设置一个“如果记录集为空则显示区域”隐藏区域服务器行为,这样当记录集Recordset1为空时,显示这些文本,如图4-83所示。

alt

图4-83 “如果记录集为空则显示区域”对话框

09 完成后的网页如图4-84所示。执行菜单栏“文件”→“保存”命令,将该文档保存到本地站点中。

alt

图4-84 完成后的网页效果图

4.5.3 查询密码功能

开发完成查询密码的功能之后,就可以测试执行的情况,进行测试的步骤如下:


01 启动浏览器,在地址中输入http://127.0.0.1/member/index.php,打开index.php首页,单击该页面中的“找回密码”超链接进入找回密码页面,如图4-85所示。

alt

图4-85 输入要查询的用户名

02 当用户进入密码查询页面lostpassword.php后,输入并向服务器提交自己注册的用户名信息。当输入不存在的用户名,并单击“提交”按钮,则会转到showqeustion.php页面,该页面显示出用户名不存在的错误信息。

alt

图4-86 输入用户不存在

03 如果输入一个数据库中已经存在的用户名,然后单击“提交”按钮。IE浏览器会自动转到showquestion.php页面,如图4-87所示。下面就应该在showquestion.php页面中输入问题答案,测试showquestion.php网页的执行情况。

alt

图4-87 showqeustion.php网页效果图

04 在这里可以先输入一个错误的答案,检查showpassword.php是否能够显示问题答案不正确时的错误信息,如图4-88所示。

alt

图4-88 出错信息

05 如果在showqeustion.php网页中输入正确的答案,并单击“提交”按钮后,浏览器就会转到showpassword.php页面,并显示出该用户的密码来,如图4-89所示。

alt

图4-89 showpassword.php页面

06 上述测试结果表明,密码查询系统已经成功制作。


用户管理系统的常用功能都已经设计并测试成功,读者如果需要将其应用到其他的网站上,只需要修改一些相关的文字说明及背景效果,就可以完成用户管理系统的制作,在注册的字段采集时也可以根据网站的需求进一步增加数据表字段的值。

教程类别