基于Web的家教管理系统的设计与实现

上传人:沈*** 文档编号:75433545 上传时间:2022-04-15 格式:DOC 页数:45 大小:1.24MB
收藏 版权申诉 举报 下载
基于Web的家教管理系统的设计与实现_第1页
第1页 / 共45页
基于Web的家教管理系统的设计与实现_第2页
第2页 / 共45页
基于Web的家教管理系统的设计与实现_第3页
第3页 / 共45页
资源描述:

《基于Web的家教管理系统的设计与实现》由会员分享,可在线阅读,更多相关《基于Web的家教管理系统的设计与实现(45页珍藏版)》请在装配图网上搜索。

1、毕业设计(论文)学 号 14062400338 毕业设计(论文)题目:基于Web的家教管理系统的设计与实现 作 者 谭 将 届 别 2010 届 系 别 计算机学院 专 业 计 算 机 科 学 与 技 术 指导教师 李 焕 职 称 讲 师 完成时间 2010年5月10日 摘 要采用三层B/S架构,以PHP为开发环境,以Mysql为后台数据库,设计并实现了一个家教管理系统。家教管理系统分为前台会员模块、一般用户模块和后台的网站管理模块。前端会员模块包括了会员个人信息管理,密码管理,家教预约管理、收藏夹管理等。一般用户模块包括了家教信息查询,家教资讯信息的显示,留言板模块等。后台网站管理模块包括了

2、网站基本信息管理、会员信息管理、家教信息管理,管理员管理,友情链接管理等。论文从需求分析、系统总体设计、数据库设计、详细设计与实现、系统安全设置与实现以及运行与测试等方面,详细叙述了家教管理系统的设计和实现过程。通过该系统可以使人们轻松查询家教信息,预约和收藏学员(教员),方便了更多的人对家教信息的需求。关键词: 家教管理;B/S架构;Mysql;PHP;Smarty;ABSTRACTThree-tier B / S framework to PHP as the development environment to Mysql database for the background, des

3、ign and implementation of a tutor management system. PTA membership management system is divided into front modules, the general background of the user modules and the website management module. Front-end module including a member of Member personal information management, password management, tutor

4、 appointment management, favorites management. General user information query module includes tutoring, tutor of news and information shows, message board module. Background Web site management module includes basic information management, member information management, information management tutor,

5、 administrator management, links management. Papers from the needs analysis, system design, database design, detailed design and implementation, system security settings and implementation as well as running and testing, the detailed description of the tutor management system design and implementati

6、on process. Through the system allows people to easily query tutor information, reservation and collection of participants (teachers) to facilitate more people on the PTA information needs.Key words: PTA management; B / S structure; Mysql; PHP; Smarty目录摘 要IABSTRACTII1 绪论11.1课题的背景和意义1l.2 发展趋势1l.3 论文的

7、组织结构12 系统需求分析32.1可行性分析32.2功能需求分析33 系统开发的关键技术43.1 PHP网络技术43.2 MYSQL数据库技术43.3 Smarty模板技术54 系统总体设计74.1 系统设计原则74.2 系统功能模块设计74.3 系统功能模块概述85 数据库设计95.1 数据库概念结构设计95.2 数据库逻辑结构设计96 系统详细设计与实现176.1 系统公共模块176.2 用户界面模块186.3 系统会员模块226.4 后台管理员模块267 系统安全设置与实现297.1 登录密码设置297.2 登录和注册验证码297.3 用户权限设置307.4 防SQL注入307.5 登录

8、超时318 系统运行与测试328.1 系统运行环境328.2 系统运行过程328.3 系统测试369 结论37参考文献38致 谢39IV1 绪论1.1课题的背景和意义Internet技术以令人不可思议的速度飞速发展,各行业均被卷入了互联网的大潮之中,网络技术的应用遍及各种技术当中。新一代的数据库设计与网络设计都或多或少带上了Internet的特点。采用Internet和Web技术的管理信息系统开始出现,普遍采用了统一的浏览器界面和以Web服务器为中心的分布式管理体系,使用极其方便,数据的共享和发布更为简单,功能更为全面,软件的二次开发更为容易,为满足目前的业务状况,又能适应未来不断增长业务需求

9、,具有灵活的可扩充性。在此互联网的浪潮中,基于B/S的家教管理系统应允而生,传统的家教作业已无法满足现今的趋势,利用互联网实现家教信息的交流已成为必然,所以建设一个基于B/S的家教管理系统成为当今社会的一种需求。1.2 发展趋势20世纪90年代末期,家教在中国逐渐普及,兴起于北京、上海等大城市,随后蔓延全国。2004年至今为国内家教行业迅猛发展期,家教开始呈现成熟化、规范化、多元化的强劲发展势头。传统的家教服务,单纯以推荐教师上门辅导为服务范围,既单一又落后,且无法保证教学质量,而近几年,国内家教行业发展十分迅速,已成为教育经济领域发展的一大热点,并伴随网络技术的普及和个性化教育的深入人心,家

10、教市场逐渐向细分化、专业化和多元化方向发展。 1.3 论文的组织结构本论文分为九章,第一章为绪论,简述了家教系统的研究背景和意义;第二章为需求分析,对系统进行了可行性分析和功能需求分析;第三章为系统所用的关键技术,简述了PHP技术、MYSQL技术和Smarty模板技术;第四章为系统总体设计,简述了系统的设计原则,详细的介绍了功能模块设计和功能模块概述;第五章为数据库设计,包括数据库概念结构设计和逻辑结构设计;第六章为系统详细设计与实现,包括公共模块、用户界面模块、会员模块、后台管理员模块的设计与实现;第七章为系统安全设置与实现,包括会员登录密码、登录验证码、用户权限设置、防SQL注入多种设置方

11、面;第八章为运行与测试,以会员模块来介绍系统,以登录模块和预约模块进行系统测试;第九章为结论,总结了系统的设计和实现过程。2 系统需求分析2.1可行性分析(1)技术可行性本网站PHP+MYSQL数据库构建而成。PHP技术已经非常成熟,数据库技术也经过多年的发展,故此结构能满足系统的稳定性及各功能的需要。(2)经济可行性家教管理系统为大众提供了一个信息交流的平台,聚集了教育的资源,方便了学员与教员的供求方式,对需求者是很有利的。故存在很大的市场。2.2功能需求分析1. 用户功能需求本课题要实现的是家教管理系统,在设计该系统时,应尽可能的方便用户。系统在实现上应该具有如下功能。(1)用户注册;(2

12、)用户登录;(3)信息浏览;(4)信息搜索;(5)会员中心管理。2.管理员功能需求网站的管理员功能是维护系统的正常运行,它需要提供如下所示的功能。(1)配置管理;(2)会员管理;(3)新闻管理(4)友情链接管理;(5)管理员管理。3 系统开发的关键技术从目前的状况看,网站系统大多数采用JAVA或ASP.NET+Oracle或SQL Server 技术来设计,但主要是用于较复杂的动态网页开发。在通过调研后,使用了相对简单的PHP+MYSQL技术开发了该系统,下面针对它的技术进行相关介绍。3.1 PHP网络技术PHP,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)

13、的缩写1。PHP是一种HTML内嵌式的语言,与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中

14、,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。PHP的特性包括:(1)开放的源代码:所有的PHP源代码事实上都可以得到。(2)php的便捷性: php十分便捷,学习简单。(3)基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNI X、LINUX、WINDOWS下。(4)效率高:PHP消耗相当少的系统资源。(5)图像处理:用PHP动态创建图像。(6)面向对像:在php4,php5中,面向对

15、象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。3.2 MYSQL数据库技术MySQL名字的来历MySQL是一个小型关系型数据库管理系统2,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。而现在的网站开发语言PHP和MYSQL组合起来非常受网站开发人员的喜爱。MYSQL的特性包括:(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 (2)支持

16、AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。 (3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 (4)支持多线程,充分利用CPU资源。 (5)优化的SQL查询算法,有效地提高查询速度。 (6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作

17、数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 (8)提供用于管理、检查、优化数据库操作的管理工具。 3.3 Smarty模板技术Smarty是一个使用PHP写出来的模板PHP模板引擎3,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。Smarty模板的优点:(1) 速

18、度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。(2) 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)。(3) 缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个

19、静态的HTML文件。(4) 插件技术:Smarty可自定义插件。插件实际就是一些自定义的函数。(5) 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。4 系统总体设计4.1 系统设计原则(1)实用性原则确保系统具有良好的系统性能,友好的用户界面,较高的处理效率。便于管理人员使用和维护,并采用成熟的技术。(2)规范性原则软件设计过程严格按照“软件工程”4规范进行,系统编码,操作系统平台以及所采用的开发方法按照相应的国际标准和国家标准。(3)先进性原则采用先进而成熟的技术,使其具有较高的技术水平和较长的生命周期。 (4)兼容性原则对于

20、所选硬件系统及平台,能很好地适应开发和使用。4.2 系统功能模块设计通过前面对用户和管理员的功能介绍,对系统的主要功能有了初步的了解,下面将系统的功能再作一些深入分析,得出系统的功能结构图,如图4.1所示。家教管理系统管理员模块会员模块基本设置友情链接资讯管理版本信息会员管理管理员管理资讯添加资讯信息留言管理教员管理学员管理管理员添加管理员信息密码修改会员信息我的收藏我的预约查看信息修改信息查看收藏管理收藏查看预约管理预约网站配置信息管理科目地区图4.1 系统的功能结构图4.3 系统功能模块概述在上面的系统的功能模块结构图中可以得知系统的功能模块,这里将设计这些功能模块完成的功能。1. 用户模

21、块(1)会员信息修改。用户注册会员后,可以实时修改自己的信息已便需求者了解自身的教育资料及状态信息等。(2)会员收藏。会员收藏必要的信息可供自己参考。(3)会员预约。会员可预约满意的学员(教员)以得到回复并经过协商后完成自身需求。(4)密码修改。会员实时修改密码以便信息安全。2.管理员模块(1)基本设置。管理员能对全站信息进行修改。具体包括检索模块的地区,科目,相关法规,网站名,网站说明,关键字,联系方式修改等等。(2)资讯管理。包括资讯添加,新闻管理,留言管理等等。其中资讯添加和新闻管理包括家长频道,考研频道,资讯新闻,学员(教员)帮助,以及相关法规等大类的添加,及删除,修改操作。留言板管理

22、是管理员能对用户的留言进行查看,回复或修改回复,对于灌水或恶意留言可以进行删除。(3)会员管理。包括学员管理和教员管理。主要用于对学员和教员进行审核和修改会员级别,普通会员在缴纳中介费之后管理员可以将其晋升为金牌会员,而对于不符合注册条例的用户可以进行删除操作。(4)管理员管理。超级管理员能查看和添加所有管理员信息,只能删除普通管理员。(5)友情连接。管理能添加,删除友情链接。5 数据库设计数据库在一个信息系统中占有非常重要的地位,数据库结构设计的好坏将直接影响到应用系统的效率,对实现的效果产生影响。数据库设计是对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,

23、满足用户信息要求和处理要求。合理的数据库结构设计可以提高数据储存效率,保证数据的完整性和一致性5。5.1 数据库概念结构设计概念结构设计是将分析得出的用户需求信息抽象为概念模型的过程。即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关联的概念结构设计模型。概念结构的主要特点是能真实、充分地反映现实世界,容易理解、更改,容易向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。设计概念结构通常有4类方法:(1)自顶向下,即首先定义全局概念结构的框架,然后一步步的细化。(2)自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。

24、(3)逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。(4)混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成自底向上策略中设计的各局部概念结构。其中最经常采用的策略是自底向上方法,即自顶向下进行需求分析,然后再自底向上设计概念结构。本家教管理系统根据上面的需求分析和数据库设计规划得出的实体有:用户实体,管理员实体。实体之间关系的E-R图,如图5.1所示。5.2 数据库逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为

25、与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构时一般要分3步进行:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定的DBMS支持下的数据模型转换;(3)对数据模型进行优化。个人信息根据以上的数据库概念结构设计,结合本网站系统对有关数据的存储的需要,更加方便实现该动态网页系统的所有功能,现将本网站设计成15个数据库表,下面逐一说明。在以下的表中“是否为关键字”和“是否允许为空”,空白表示“否”。管理员 资讯信息地区信息科目信息留言信息友情链接网站配置相关法规管理管理发布、修改、删除管理管理NNN11N1N1N1N会员预约信息管理1N收

26、藏信息管理N1管理1N管理1N图5.1 系统E-R模型图5.2.1 管理员信息表(w_admin) 管理员信息表用来保存管理网站的管理员的ID号、权限ID、用户名密码、真实姓名、电话、时间,表结构如表5.1所示。 表5.1 管理员信息表列名中文含义数据类型长度是否为关键字默认值可否为空uidID号int 5Y(主键)自动编号m_id权限IDint5Y 续表5.1 管理员信息表username用户名varchar50realname真实姓名varchar30password密码varchar32phone联系电话varchar20createtime时间Int105.2.2 网站信息配置表(w_

27、config) 网站信息配置表用来保存网站基本信息,包括配置ID号、关键字、描述、联系方式、备案信息等字段,表结构如表5.2所示。 表5.2 网站配置信息表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 5Y(主键)自动编号name配置名varchar20Yvalue配置值text30remark备注信息text20可以5.2.3 关于我们表(w_about) 关于我们表用来保存家教管理相关法规信息,包括ID号、排序、标题、内容、发表时间等字段,表结构如表5.3所示。 表5.3 关于我们表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 11Y(主键)自动

28、编号cid排序int11Ytitle标题varchar50content内容textcreatetime发表时间int105.2.4 教员信息表(w_teacher) 教员信息表用来保存注册教员的ID号、教员账号、密码、真实姓名、地址、电话、QQ、邮箱、注册时间等等表结构如表5.4所示。 表5.4 教员信息表列名中文含义数据类型长度是否为关键字默认值可否为空id教员IDint 10Y(主键)自动编号username教员账号varchar20Ypassword教员密码varchar32teachertype教员类型varchar30续表5.4 教员信息表列名中文含义数据类型长度是否为关键字默认值

29、可否为空question问题varchar30answer答案varchar30realname真实姓名varchar10card身份证varchar20sex性别varchar4callsex要求性别varchar4year年int4month月int2nation民族varchar15school学院varchar60degree学位varchar10subject科目varchar60teachway教学方式varchar10jjtime教学时间varchar50describe自我描述textexperiecne经验varchar10charge收费varchar10area地区var

30、char30areadesc地区描述varchar100phone电话varchar15mobile手机varchar15qqQQint15emailEmailvarchar100check是否审核tinyint1type会员类型tinyint1reserve预约tinyint1login登陆次数int5readtimes阅读次数int10createtime时间int105.2.5 教员收藏表(w_teacher_collect) 教员收藏表用来保存教员收藏的学员信息,包括ID号、名字、链接地址等字段,表结构如表5.5所示。 表5.5 教员收藏表列名中文含义数据类型长度是否为关键字默认值是否

31、为空idID号int 10Y(主键)自动编号uid教员IDint10Yname姓名varchar10续表5.5 教员收藏表url地址varchar60createtime发表时间int105.2.6 教员预约表(w_teacher_reserve) 教员预约表用来保存教员收到的预约,包括姓名、电话、手机邮箱等字段,表结构如表5.6所示。表5.6 教员预约表列名中文含义数据类型长度是否为关键字默认值可否为空idIDint 10Y(主键)自动编号uid教员IDint10Yusername姓名varchar10phone电话varchar15mobile手机varchar15email邮箱varch

32、ar100area地区varchar100explain说明varchar500createtime预约时间int105.2.7 学员信息表(w_student) 学员信息表用来保存注册学员的ID号、学员账号、密码、真实姓名、地址、电话、QQ、邮箱、注册时间等等表结构如表5.7所示。表5.7 学员信息表列名中文含义数据类型长度是否为关键字默认值可否为空id学员IDint 10Y(主键)自动编号username账号varchar20Ypassword密码varchar32question问题varchar30answer答案varchar30realname真实姓名varchar10sex性别v

33、archar4callsex要求性别varchar4year年int4month月int2nation民族varchar15school学院varchar60grade年级varchar10calltype要求类型varchar10subject科目varchar60续表5.7 学员信息表列名中文含义数据类型长度是否为关键字默认值可否为空teachway教学方式varchar10jjtime教学时间varchar50describe自我描述textcharge收费varchar10area地区varchar50areadesc地区描述varchar255phone电话varchar15mobi

34、le手机varchar15qqQQint15emailEmailvarchar100reserve是否预约tinyint1login登陆次数tinyint1check是否审核tinyint1readtimes阅读次数int10createtime时间int105.2.8 学员收藏表(w_student_collect) 学员收藏表用来保存学员收藏的教员信息,包括ID号、名字、链接地址等字段,表结构如表5.8所示。表5.8 学员收藏表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 10Y(主键)自动编号uid学员IDint10Yname姓名varchar10url地址varc

35、har60createtime发表时间int105.2.9 学员预约表(w_student_reserve) 学员预约表用来保存学员收到的预约,包括ID、资讯内容、备注信息等字段,表结构如表5.9所示。表5.9 学员预约表列名中文含义数据类型长度是否为关键字默认值可否为空idIDint 10Y(主键)自动编号uid学员IDint10Yusername姓名varchar10phone电话varchar15mobile手机varchar15 续表5.9 学员预约表列名中文含义数据类型长度是否为关键字默认值可否为空email邮箱varchar100area地区varchar100explain说明v

36、archar500createtime预约时间int105.2.10 友情链接表(w_friend) 友情链接表用来保存网站的一些友情链接信息,包括ID号、名称、网址、logo等字段,表结构如表5.10所示。 表5.10 友情链接表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 5Y(主键)自动编号name名称varchar30Yurl地址varchar100logo图片varchar100createtime加入时间int105.2.11 留言信息表(w_message) 留言信息表用来保存浏览者或是会员对网站的留言信息和管理员的回复留言信息,包括留言ID号、姓名、留言内

37、容、内容回复、IP地址、发表时间等字段,表结构如表5.11所示。 表5.11 留言信息表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 11Y(主键)自动编号name留言人varchar20Ycontent留言内容varchar244contentreply内容回复text244ipIP地址varchar20createtime发表时间int105.2.12 新闻类别表(w_news_class) 新闻类别用来存放新闻类别,包括ID号、父ID、名称、备注字段,表结构如表5.12所示。 表5.12 新闻类别表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int

38、11Y(主键)自动编号 续表5.12 新闻类别表列名中文含义数据类型长度是否为关键字默认值可否为空fid父IDint11Yname名称varchar20remark备注varchar805.2.13 新闻内容表(w_news_content) 新闻类别用来存放新闻类别,包括ID号、类别ID、标题、内容、作者、备注字段,表结构如表5.13所示。 表5.13 新闻内容表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 11Y(主键)自动编号cid父IDint11Ytitle标题varchar20content内容textauthor作者varchar10readtimes阅读次数

39、int10createtime发布时间int11keywords关键字varchar805.2.14 地区表(w_news_class) 地区表用来存放方便检索的地区名称,包括ID号、排序ID、地区名称、加入时间,表结构如表5.14所示。表5.14 地区表列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 11Y(主键)自动编号cid排序IDint11Yname地区名称varchar20createtime加入时间int105.2.15 科目表(w_news_class) 科目表用来存放科目类别,包括ID号、排序ID、名称、加入时间,表结构如表5.15所示。 表5.15 科目表

40、列名中文含义数据类型长度是否为关键字默认值可否为空idID号int 11Y(主键)自动编号cid排序IDint11Y 续表5.15 科目表列名中文含义数据类型长度是否为关键字默认值可否为空name科目名称varchar20createtime加入时间int106 系统详细设计与实现6.1 系统公共模块在程序开发过程中,可以创建些常用公共操作类或函数以方便快捷开发模块6。下面介绍两个重要的公共模块。6.1.1 数据库连接操作模块为了更好的操作MYSQL数据库,本系统用了一个数据库操作的类:mysql通过这个类中的方法可以更加方便,快捷,有效地操作数据库中的数据。下面介绍该类中比较常用的方法。(1

41、) query()方法这是最常用的方法,在程序执行查询,删除,修改,更新操作时,可以方便插入数据并对错误抛出异常信息。 public function query($sql)if ($sql = )$this-show_error(SQL语句错误:,SQL查询语句为空);$this-sql = $sql;$result = mysql_query($this-sql, $this-conn);if (!$result)if ($this-show_error)$this-show_error(错误SQL语句:, $this-sql);else$this-result = $result;ret

42、urn $this-result;(2) connect()数据库连接方法直接连接数据库并对其进行合理的检查,如选择正确的连接方式和编码格式,并对错误抛出异常信息。public function connect() if ($this-conn = pconn) /永久链接$this-conn = mysql_pconnect($this-db_host, $this-db_user, $this-db_pwd); else /即使链接$this-conn = mysql_connect($this-db_host, $this-db_user, $this-db_pwd);if (!mysq

43、l_select_db($this-db_database, $this-conn) if ($this-show_error) $this-show_error(数据库不可用:, $this-db_database);mysql_query(SET NAMES $this-coding);/选择编码方式此外,优化SQL操作的select()方法,update()方法,insert()方法,delete()方法等等,查询数据库表的show_tables()方法,显示SQL错误的show_error()方法等等这些都对整个开发过程中起到了重要的作用。6.1.2 公共函数模块为了让整个系统更加严谨

44、,结构清晰,代码的重复性利用,在前台每个php文件都通过include_once (global.php)语句引入global.php文件,在后台每个php文件都引入admin_global.php全局配置文件。这两个文件的主要作用是初始化变量和引入公共函数。主要代码如下:session_start(); /开启sessioninclude_once (./config/config.php); /引入配置文件include_once (./common/smarty/Smarty.class.php); /引入smarty类include_once (./common/mysql.class

45、.php); /引入数据库类include_once (./common/action.class.php); /引入操作类include_once (./common/page.class.php); /引入分页类include_once (./common/functions.php); /引入函数库$db = new action($mydbhost, $mydbuser, $mydbpw, $mydbname, $mydbconn, $mydbcharset);/*初始化smarty模块引擎*$smarty = new smarty();$smarty-template_dir = $

46、smarty_template_dir; /设置模板目录$smarty-compile_dir = $smarty_compile_dir; /设置编译目录$smarty-config_dir = $smarty_config_dir; /设置配置目录$smarty-cache_dir = $smarty_cache_dir; /设置缓存目录$smarty-caching = $smarty_caching; /是否开启缓存$smarty-left_delimiter = $smarty_delimiter0; /左边界符$smarty-right_delimiter= $smarty_del

47、imiter1; /右边界符$smarty-assign(t_dir,$smarty_template_dir); /路径6.2 用户界面模块6.2.1 用户注册模块用户注册信息包括:用户名,密码,真实姓名,性别,出身日期,地址,电话,QQ,email,自我描述,审核状态,阅读次数,登陆次数,注册时间等等。其中用户名,密码,确认密码,自我描述,问题答案,联系电话是必填的,密码和确认密码必须一致, email必须是正规的email格式,这个控制过程是由reg.js这个JavaScript脚本文件控制的。使用php绘图函数制作的验证码图片包含在check.php页面中,以防恶意注水让网站更加安全。

48、若所填信息无误,则将表单数据提交到student_check_reg.php(学员注册)或teacher_check_reg.php(教员注册)页面处理用户注册信息。实现控制的部分js代码如下:function check()var pattern = /A-Za-z0-94,20$/;if (document.form2.uid.value=)alert(对不起,用户名不能为空);document.form2.uid.focus();return false;elseif(!pattern.test(document.form2.uid.value)alert(对不起,用户名必须在4-20位

49、,不能带有非法字符);document.form2.uid.focus();return false;if (document.form2.password.value=)alert(对不起,密码不能为空);document.form2.password.focus();return false;elseif(!pattern.test(document.form2.password.value)alert(对不起,密码必须在6-20位);document.form2.password.focus();return false;if (document.form2.password1.valu

50、e=)alert(对不起,确认密码不能为空);document.form2.password1.focus();return false;elseif(!pattern.test(document.form2.password1.value)alert(对不起,确认密码必须在6-20位);document.form2.password1.focus();return false;if(document.form2.password.value!=document.form2.password1.value)alert(对不起,两次密码不相同);document.form2.password.f

51、ocus();return false;6.2.2 会员登录模块会员进入会员管理中心前,必须登录,登录包括会员名称和密码及验证码。处理会员登录在check_login.php页面中。会员登录流程如6.1所示。当会员登录成功后,记录session值,跳转至学员(教员)管理中心界面。6.3.3 会员退出模块由loginout.php页面销毁session变量并退出登陆。/销毁session变量unset($_SESSIONsid); unset($_SESSIONtid);6.3.4 新闻浏览模块新闻浏览包括了家长频道,考研频道,资讯新闻,学员(会员)帮助等各个模块,为用户提供学习,参考,帮助。实

52、现语句如下:if(isset($_GETid) /判断id值存在 $id = $_GETid;图6.1登录模块流程图$query = $db-query(select * from w_news_content where id=$id limit 1); /执行SQL查询while($result = $db-fetch_array($query)$readtimes=$resultreadtimes+1; /阅读次数加1并更新数据库mysql_query(UPDATE w_news_content SET readtimes = $readtimes WHERE w_news_content.id =$id LIMIT 1 ;);$news_content = array( /将结果集存入数组中 id=$resultid, title=$resulttitle, author=$resultauthor, content=$resultcontent, creat

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!