php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛

上传人:繁星 文档编号:88253473 上传时间:2019-04-22 格式:PPT 页数:56 大小:2.74MB
返回 下载 相关 举报
php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛_第1页
第1页 / 共56页
php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛_第2页
第2页 / 共56页
php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛_第3页
第3页 / 共56页
php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛_第4页
第4页 / 共56页
php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛》由会员分享,可在线阅读,更多相关《php应用开发与实践 教学课件 马骏 第19章 课程设计——在线论坛(56页珍藏版)》请在金锄头文库上搜索。

1、在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,本章要求:,第19章 课程设计在线论坛,系统设计思路 数据库设计 用户注册模块的设计 用户登录模块的设计 帖子分类管理模块设计 发帖模块设计 回帖模块设计 注销用户 后台管理模块设计,主要内容,1.课程设计目的 2.功能描述 3.程序业务流程 4.数据库设计 5.实现过程 6.调试运行 7.课程设计总结,第19章 课程设计在线论坛,19.1 课程设计目的,本章提供了“在线论坛”作为这一学期的课程设计之一,本次课程设计旨在提升学生的动手能力,加强大家对专业理论

2、知识的理解和实际应用。本次课程设计的主要目的如下: 加深对面向对象程序设计思想的理解,能对网站功能进行分析,并设计合理结构。 掌握Dreamweaver 8设计网页界面的方法。 掌握PHP+MySQL开发网站的基本开发流程。 掌握分页技术在实际开发中的应用。 掌握MySQL数据库函数在实际开发中的应用。 提供网站的开发能力,能够编写高效的代码。 培养分析问题、解决实际问题的能力。,19.2 功能描述,本章开发的是一个最基本、最简单的论坛系统,其具备了论坛系统的基本功能,没有附加任何复杂的功能,完全适合初学者的学习和研究。论坛系统的具体功能如下: MySQL数据库的创建 用户注册 用户登录 帖子

3、的分类管理 发布帖子 回复帖子 注销用户 后台管理,明日科技在线论坛的运行结果如图19-1所示。 图19-1 明日科技在线论坛的运行结果,19.3 程序业务流程,在线论坛系统的操作流程非常清晰,总体上由两大模块组成:前台展示区和后台管理组成,其中前台展示区的主要功能包括:用户注册、用户登录、发布帖子、回复帖子、注销用户;后台管理模块的主要功能包括:用户管理、栏目管理、主题管理、回复内容管理和非法信息管理。程序流程如图19-2所示。 图19-2 在线论坛系统操作流程图,19.4 数据库设计,19.4.1 数据库概要说明 19.4.2 数据库概念设计 19.4.3 数据库逻辑设计,19.4.1 数

4、据库概要说明,在线论坛系统中,采用的是MySQL数据库,用来存储用户信息、发帖信息、回帖信息等。这里将数据库命名为db_forum,其中包含的数据表如图19-3所示。 图19-3 数据库结构,根据业务流程和系统功能结构,规划出系统中使用的数据库实体对象及实体E-R图。在创建数据表前,首先需要创建基本信息的数据表,例如图像信息表、版主信息表、管理员信息表等。 图像信息表实体E-R图如图19-4所示。 图19-4 图像信息表实体E-R图,19.4.2 数据库概念设计,版主信息表实体E-R图如图19-5所示。 图19-5 版主信息表实体E-R图,管理员信息表实体E-R图如图19-6所示。 图19-6

5、 管理员信息表实体E-R图,在线论坛系统是典型的数据库开发应用程序,论坛的数据库设计是一个非常关键的环节,下面将对本论坛系统中使用的数据库进行介绍。 论坛系统中创建的数据库名称是“db_forum”,MySQL数据库服务器的用户名是“root”,密码是“111”。在创建的数据库中包括6个数据表,其中各数据表实现的功能如表19-1所示。 表19-1 db_forum数据库中数据表功能说明 注意: 在创建数据库的过程中一定要注意字符集的使用,要选择使用“utf-8”类型,如果使用其他字符集,有可能会导致数据库中的数据出现乱码。,19.4.3 数据库逻辑设计,这里使用了6个数据表,其中各个表的结构不

6、再一一介绍,以用户个人信息表为例,来了解一下数据表的创建过程,以及其中需要注意的问题。 tb_user用户信息表的结构如图19-10所示。 图19-10 tb_user用户信息表的结构,在使用MySQL数据库创建数据表时,首先要指定一字段为数据表主键,其类型为“int”(例如:用户表中的“id”),然后在创建其他字段时,要根据字段表述的内容为字段定义类型,例如:表示时间的字段可以使用“date”或者“datetime”等时间类型,而表述大量的文本字段时,应该使用“text”类型,如果存储的是二进制的数据,那就要定义“blob”或者“longblob”类型,具体的字段使用什么样的类型来定义,要根

7、据具体问题具体分析。 注意: 在创建数据表时,一定要指定数据表的类型为“MyISAM”,如果使用其他类型将影响数据库的备份,例如:使用“InnoDB”类型保存数据,如果将表中的数据拷贝到其他机器的数据库中,该数据表将不可用。,19.5 实现过程,19.5.1 用户注册 19.5.2 用户登录 19.5.3 帖子分类管理设计 19.5.4 发帖模块设计 19.5.5 回帖模块设计 19.5.6 后台首页设计 19.5.7 栏目管理设计,当用户第一次登录本论坛时,必须先进行注册,然后登录,才可以发表帖子。单击“注册”按钮,进入到注册页面,按照要求输入注册信息,单击“确认提交”按钮,即可成功注册帐号

8、。用户注册模块运行效果如图19-11所示。 图19-11 用户注册模块的运行结果,19.5.1 用户注册,1页面设计 为了便于对论坛中头尾文件进行修改,这里充分发挥了include()包含语句的作用,头尾文件都是通过包含语句直接调用的,无须在本页编辑。 (1)应用include语句包含论坛的头文件index_01.php,代码如下: (2)根据美工设计的网页效果图嵌入用户注册信息页面,应用表格技术合理的划分和设计表单的布局,在对应的表格中嵌入表单元素,并且设置表单元素的名称。用户注册模块中涉及到的HTML表单元素如表19-2所示。 表19-2 用户注册页面涉及到的HTML表单元素,注意: 由于

9、用户注册页面的设计中涉及的表单元素较多,所以一定要注意表单元素名称的使用,其中设计的名称一定要与表单处理页中使用的表单元素的变量名称相吻合,否则将导致上传数据失败。,(3)应用include语句包含论坛当前在线用户信息统计文件index_05.php,及版权信息文件index_06.php,代码如下: 2代码设计 在完成用户注册模块的整体布局设计后,接着实现用户注册模块的功能。首先通过JavaScript脚本对表单中提交的数据进行判断,关键代码如下: function checkit() if(form1.username.value=“) alert(“请输入用户名!“); form1.us

10、ername.select(); return(false); if(form1.password.value=“) alert(“请输入用户密码!“); form1.password.select(); return(false); /省略部分代码,if(!checkemail(form1.email.value) alert(“邮箱地址格式不正确!“); form1.email.select(); return(false); return(true); function checkemail(email) /验证邮箱地址格式是否正确 var strs=email; var Express

11、ion=/w+(-+.w+)*w+(-.w+)*.w+(-.w+)*/; var objExp=new RegExp(Expression); if(objExp.test(strs)=true) return true; else return false; function checkphone(tel) /验证电话号码格式是否正确 var str=tel; var Expression=/(d3-)(d8)$|(d4-)(d7)$|(d4-)(d8)$|(d11)$/; var objExp=new RegExp(Expression); if(objExp.test(str)=true

12、) return true; else return false; ,当用户单击头像下拉列表,选择头像时,显示头像图片,程序代码如下: /通过下拉列表选择头像时应用该函数 function showlogo() document.images.img.src=“images/tx/“+ document.form1.tx.optionsdocument.form1.tx.selectedIndex.value; 选择头像: 头像1 头像2 头像3 头像4 头像5 头像6 头像7 头像8 头像9 头像10 ,当用户单击“确认提交”按钮后,将表单中的数据提交到用户注册信息处理页login_ok.p

13、hp中,将数据添加到数据库中进行存储,程序代码如下: alert(注册成功!);window.location.href=index.php;“; else echo “alert(注册失败!);window.location.href=index.php;“; else echo “alert(两次输入的密码不一致!);window.location.href=login.php;“; ?,系统登录是用户进入到程序系统的门户,只有通过登录模块,才能对登录用户进行身份验证,只有系统的合法用户才可以进入系统的主界面。整个登录模块的实现过程非常简单,相信读者会很快掌握。登录模块运行效果如图19-1

14、2所示。 图19-12 用户登录模块的运行效果,19.5.2 用户登录,1页面设计 用户登录模块的设计非常简单,只包括两个表单元素和一个提交按钮即可,虽然内容少,但对其与其他内容进行合理的搭配也是非常重要的。 用户登录模块的页面设计流程如下: (1)输出系统的当前时间,代码如下: (2)设计用户登录添加的表单元素和按钮。 用户登录模块中涉及到的HTML表单元素如表19-3所示。 表19-3 用户登录页面涉及到的HTML表单的重要元素,2代码设计 用户登录模块的功能主要通过两个步骤来完成,首先,在用户登录页面中输入用户名和密码,然后,单击“登录”按钮,将数据提交到用户登录数据处理页中,对提交的数

15、据进行验证,如果正确则提示用户登录成功,否则返回到用户登录页面。其中用户登录数据处理页中的代码如下: alert(登录成功!);window.location.href=index.php;“; else echo “alert(登录失败!);window.location.href=index.php;“; ?,明日科技在线论坛是针对不同种类的计算机编程语言开发的一个网络交流的平台,所以在本论坛中根据不同种类的计算机编程语言对论坛中的帖子进行分类管理,帖子分类管理模块运行效果如图19-13所示。 图19-13 帖子分类管理模块的运行结果,19.5.3 帖子分类管理设计,1页面设计 在页面设计中,使用图片固然可以使页面变得非常漂亮,但是也存在一些弊端,如果在网页中输出大量的数据时,使用图片作为背景,一但处理不好,则会导致数据显示与背景不协调,达不到最佳效果;那么在网站中如果使用简单的表格来完成页面的设计就不会出现上述的问题,特别是对大量数据输出处理上,使用表格和添加背景色来完成是非常不错的方法,其中细线表格边线的使用更是程序员设计网页的首选参数。这里帖子分类管理模块就是使用细线表格来完成的,帖子分类管理模块的效果如图19-14所示。 图19-14 帖子分类管理模块的效果,帖子分类管理模块的页面设计流程如下: (

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号