第19章 实例:基于PHP&;AJAX的用户管理
? AJAX技术最大的好处在于,大部分的计算都是在 客户端进行,这不仅可以为用户提供丰富的界面 操作,这大大节省了服务器资源。本章主要通过 使用AJAX技术,并使用PHP作为服务器端脚本s, 进行用户管理项目的开发。
19.1 需要分析
? 在本书的第15章中,介绍了使用PHP实现用户管理 的项目。由于要存储的用户资料相同,两个项目 可以使用同一个数据库的表,关于创建数据库的 详细信息,请查看本书的第15章的内容。本节将 以用户,以及开发人员的角度,对要使用AJAX实 现的用户管理项目,进行需要分析。
19.1.1 用户界面
? 在开发AJAX程序时,尽可以少的刷新页面,以取得更好的 用户体验,以及更快的程序运行速度。但是这样做的结果, 就会使构建用户界面的元素过多,从而在编写代码时,容 易因为命名的问题,而产生脚本错误码。 ? 解决这个问题的方法有两种: ? 在命名用户界面元素时,可以使用前缀来表明元素属于的 功能,例如:“login_div”表示登录功能的层, “modify_div”表示修改功能的层。 ? 使用JavaScript脚本,根据需要动态创建元素,这种方法 比较灵活,但是实现代码会比较多。 ? 在实际应用中,不现的功能需要不现方法的实现,开发人 员也可以根据自经验,规划AJAX程序的用户界面。
19.1.2 PHP脚本
? 本章实现的用户管理项目,PHP脚本完全在后台运 行,并不需要在前台显示太多内容,为了防止非 法用户访问这些PHP脚本,需要提高这些脚本的安 全性。PHP脚本中,将使用ADODB类库访问数据库, 并使用SAJAX开发框架,负责用户界面与
PHP脚本 的
通信。 ? 为了响应用户界面提交的数据,PHP脚本需要做出 很多动作,例如处理数据,读取数据库内容等。 这些功能可以以单个文件的形式存在,也可以统 一存放在一个文件中。由于本章实现的项目功能 较少,将使用一个文件完成所有功能。
19.2 页面
设计与程序编码
? 根据19.1节中的需要分析,本章实现的项目中需 要使用ADODB类库、SAJAX框架,以及产生中文验 证码的PHP代码。在开始之前,复制ADODB类库的 文件到项目根目录,把SAJAX代码保存在19_1.php 文件中,把产生中文验证码的PHP代码保存在 19_2.php文件中,以方便在其他页面中使用这些 脚本。本节将
演示构建客户端界面的页面,以及 响应客户端数据请求的PHP脚本。
19.2.1 用户注册页面
? 用户注册页分为两部分,在用户注册开始时,显 示注册协议,在同意
注册协议后,显示用户实际 注册页面。为了减少页面刷新,可以将这两个功 能放在同一页面中, ? 在清单的代码中,包含了SAJAX代
码,将把客户端 的请求数据,都发送到.php文件进行处理。清单 中代码,将根据.php文件处理的结果,做出相应 的动作,完成用户注册。
19.2.2 用户登录与资料管理界面
? 在访问用户资料管理界面时,需要用户先进行登 录,在完成登录后,界面脚本会隐藏登录界面, 并显示用户管理资料界面。
19.2.3 响应客户端请求的PHP脚本
? 在构建完用户界面后,需要编写PHP脚本,以响应 用户界面的数据请求, ? 根据用户提交的数据,通过switch语句,调用对 应函数,完成数据处理与显示的功能。 ? 提示:读者在编写类似页面时,如果一页中要完 成的功能太多,为了防止出错,可以考虑把不同 的功能,分别存储在不同的文件中,再进行调用。
19.2.4 找回密码页面
? 找回密码页面相对简单,只有两步组成,这两步 可以同时存在于同一页面,
19.3 常见问题
? 本章主要使用AJAX技术,实现了用户管理功能。 本节将列出在实现AJAX项目时,容易出现的
问题, 以及解决方法,供读者参考。
19.3.1 客户端界面规划
? 为了减少刷新页面的次数,AJAX
程序一般会在一 个页面中放置很多元素,然后使用JavaScript脚 本去管理