《HP教程(lijiazhong)第18章.ppt》由会员分享,可在线阅读,更多相关《HP教程(lijiazhong)第18章.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第18章 开发示例:会员管理系统本章将学习复杂一点的网站应用:会员管理系本章将学习复杂一点的网站应用:会员管理系统。网站提供各项不同级别会员的专属功能以统。网站提供各项不同级别会员的专属功能以增加网站的亲和力,并为进一步运营收费提供增加网站的亲和力,并为进一步运营收费提供基础。基础。在第在第12章章PHP会话管理中曾经介绍过的会话管理中曾经介绍过的Session功能是实现会员身份识别的关键。本功能是实现会员身份识别的关键。本示例将比上一个示例增加使用示例将比上一个示例增加使用PHP的类、模板的类、模板和和Ajax应用。应用。218.1 系统需求分析常见的网站会员管理系统均需要实现常见的网站会员
2、管理系统均需要实现会员登录、新会员注册、会员修改资会员登录、新会员注册、会员修改资料、图片上传等功能,作为网站管理料、图片上传等功能,作为网站管理员,还需要有查看所有会员列表、修员,还需要有查看所有会员列表、修改会员资料、删除单个或批量删除多改会员资料、删除单个或批量删除多个会员等功能。个会员等功能。318.2 系 统 预 览在程序设计之初,就要预想程序运行时的界面,在程序设计之初,就要预想程序运行时的界面,页面各元素的排列,将其作为设计蓝图,并考页面各元素的排列,将其作为设计蓝图,并考虑关键的脚本代码,提供相应的变量,结合模虑关键的脚本代码,提供相应的变量,结合模板来实现这些页面。以下板来实
3、现这些页面。以下(图图18-1到到18-12)给出给出本示例运行时的各页面截图。本示例运行时的各页面截图。418.2 系 统 预 览518.2 系 统 预 览618.3 MySQL数据库设计根据上面的需求分析,我们需要根据上面的需求分析,我们需要设计的数据库表只有一个:设计的数据库表只有一个:users。它的结构如下:它的结构如下:参见教材P381718.4 系统公共文件实现18.4.1 MySQL数据库基类对于基类文件,可以使用本书第13.6节获得的数据库操作类,命名为cls_mysql.php,脚本内容略。818.4.2 Smarty模板基类对于该模板类,将使用官对于该模板类,将使用官方正
4、式版本,我们可以从方正式版本,我们可以从其网站下载使用,存储于其网站下载使用,存储于网站的网站的libs文件夹内。文件夹内。918.4.3 Ajax公共脚本文件本书提供如下的本书提供如下的Ajax公共简洁公共简洁脚本:脚本:参见教材P3821018.4.4 inc.php公共文件我们将使用该文件调用上述三个基础公共脚本,为系我们将使用该文件调用上述三个基础公共脚本,为系统各统各PHP脚本文件提供共用的系统环境配置,其他脚本文件提供共用的系统环境配置,其他PHP脚本文件将其包含入即可。具体代码如下:脚本文件将其包含入即可。具体代码如下:compile_check=true;$smarty-deb
5、ugging=false;?1118.4.5 main.css样式表公共文件为使各页面保持统一的显示为使各页面保持统一的显示风格,我们统一设定各页面风格,我们统一设定各页面所使用的所使用的CSS样式如下:样式如下:参见教材P3831218.4.6 所有页面的头部、左侧目录公共模板文件头部公共模板文件头部公共模板文件pageheader.htm(templates文件夹文件夹):参见教材P386左侧目录公共模板文件左侧目录公共模板文件pageleft.htm(templates文件夹文件夹):参见教材P3871318.5 会员管理系统首页实现会员管理系统首页的程序脚本比较简单,需要判断会员管理系
6、统首页的程序脚本比较简单,需要判断用户登录状态,如果尚未登录,则显示会员登录的用户登录状态,如果尚未登录,则显示会员登录的表单模板,如果已经登录,则读取相关的表单模板,如果已经登录,则读取相关的Session变量。变量。脚本内容见第脚本内容见第18.12节。节。模板文件模板文件user_index.htm(templates文件夹文件夹):include file=pageheader.htmif$user_photo/ifinclude file=pageleft.htm1418.6 用户注册页面的实现用户注册时,需要判断用户输入的用户用户注册时,需要判断用户输入的用户名和用户电子邮件是否已
7、经被他人注册,名和用户电子邮件是否已经被他人注册,为了用户注册方便,本页面我们使用为了用户注册方便,本页面我们使用Ajax功能与后台数据库进行交互。功能与后台数据库进行交互。模板文件模板文件user_register.htm(templates文件夹文件夹):参见教材P3881518.7 用户登录页面的实现会员需要先登录方能被允许进入会员系统,当会员需要先登录方能被允许进入会员系统,当某个会员输入用户名和密码并提交后,程序脚某个会员输入用户名和密码并提交后,程序脚本需要查询数据库,检查是否有相应的记录存本需要查询数据库,检查是否有相应的记录存在。在。程序脚本见第程序脚本见第18.12节。节。模
8、板文件模板文件user_login.htm(templates文件夹文件夹):参见教材P3911618.8 编辑用户信息页面实现已注册用户信息发生变化时,需要及时更改已注册用户信息发生变化时,需要及时更改先前注册的信息,此页面与用户注册页面类先前注册的信息,此页面与用户注册页面类似,需要使用似,需要使用Ajax检测用户欲更改的电子邮检测用户欲更改的电子邮件是否已经被注册。系统管理员后台更改某件是否已经被注册。系统管理员后台更改某用户信息与此类似,不另提供。用户信息与此类似,不另提供。程序脚本见第程序脚本见第18.12节。节。模板文件模板文件user_mod.htm(templates文件夹文件
9、夹):参见教材P3931718.9 用户照片上传页面的实现IE7提高了安全性策略,不再允许使用提高了安全性策略,不再允许使用句法预览本地图片,为了方便用户句法预览本地图片,为了方便用户选择正确的图片上传,预览功能的重要性不言选择正确的图片上传,预览功能的重要性不言而喻,因此我们通过而喻,因此我们通过filter属性来曲线实现图片属性来曲线实现图片预览。预览。程序脚本见第程序脚本见第18.12节。节。模板文件模板文件user_upload.htm(templates文件夹文件夹):参见教材P3951818.10 用户注销登录页面对于用户注销登录,无需设计专门的对于用户注销登录,无需设计专门的模板
10、,只需向模板,只需向PHP程序脚本提供程序脚本提供$GETaction变量即可,程序脚本变量即可,程序脚本注销原先各注销原先各Session值,用户登录状值,用户登录状态即可取消。态即可取消。程序脚本见第程序脚本见第18.12节。节。1918.11 会员列表页面本页面使用本页面使用JavaScript脚本提供一些特殊功能,脚本提供一些特殊功能,如当选择某个或多个会员后,如当选择某个或多个会员后,“删除会员删除会员”的的按钮方可使用,以鼠标单击会员电子邮件,其按钮方可使用,以鼠标单击会员电子邮件,其状态即可更改为编辑状态,光标离开此区域时,状态即可更改为编辑状态,光标离开此区域时,将会使用将会使
11、用Ajax功能向数据库提交更新后的新值。功能向数据库提交更新后的新值。程序脚本程序脚本adminuser.php:参见教材P396模板文件模板文件user_list.htm(templates文件夹文件夹):参见教材P3972018.12 PHP程序脚本本系统通过判断本系统通过判断$_GETaction值来区分各功值来区分各功能页面,并使用能页面,并使用$_SESSIONuser_login来来记录用户的登录状态,注册、修改、退出登录记录用户的登录状态,注册、修改、退出登录等各操作均需要判断用户的登录状态。等各操作均需要判断用户的登录状态。脚本文件脚本文件user_index.php:参见教材
12、P401脚本文件脚本文件user_register.php:参见教材P4032118.13 本 章 小 结通过对本章示例的学习,进一步了解了通过对本章示例的学习,进一步了解了PHP和和MySQL数据库相数据库相结合的程序编写,所有信息均存储在结合的程序编写,所有信息均存储在MySQL数据库中,网页的数据库中,网页的大部分的功能实现,归根到底就是映射到对大部分的功能实现,归根到底就是映射到对MySQL数据库的数据库的SELECT(用户登录用户登录/列表列表)、UPDATE(用户修改信息用户修改信息/用户登录用户登录次数次数/上次登录上次登录IP地址地址)、DELETE(会员删除会员删除)等操作,
13、在做需等操作,在做需求分析时充分考虑这些关键功能的数据库实现,在编写代码阶求分析时充分考虑这些关键功能的数据库实现,在编写代码阶段就可以做到胸有成竹。段就可以做到胸有成竹。JavaScript可以大大丰富网页的功能,建议读者花费一些时间可以大大丰富网页的功能,建议读者花费一些时间来专门学习。来专门学习。Web 2.0要求程序和显示分开,程序只负责提供数据内容,所要求程序和显示分开,程序只负责提供数据内容,所有的显示均在有的显示均在CSS代码中定义,淘汰了原先内容和显示风格混代码中定义,淘汰了原先内容和显示风格混在一起的在一起的等标记,大量应用等标记,大量应用DIV+CSS实现整站设计,要实现整站设计,要想设计出符合标准的想设计出符合标准的Web 2.0网站,也建议读者花费一些时间网站,也建议读者花费一些时间来学习来学习DIV+CSS的网站设计,在设计团队中实现与美工的良好的网站设计,在设计团队中实现与美工的良好配合。配合。22