




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全日制本科生毕业论文题 目: 基于PHP的重师学习在线论坛 学 院: 计算机与信息科学学院 专业年级: 计算机科学与技术(师范) 2010级 学生姓名: 学号: 指导教师: 职称: 教授 2014年 5 月 8 日基于PHP的重师学习在线论坛摘 要:本论坛主要是供重师师生学习交流,采用CSS+DIV对网站进行布局,使用PHP服务器端语言实现功能,采用MySQL数据库对数据进行存储,借助Apache服务器解释PHP程序,实现了用户注册、登录、发帖、回帖、删帖、修改基本信息、留言、聊天,管理员对用户、帖子、留言、聊天室的管理等。 关键词:在线论坛;聊天室;留言板;数据库(MySQL)全套设计加扣 3012250582Abstract:This forum is mainly used for exchanging of learning among teachers and students, adopted CSS+DIV to carry out the layout of the site, used the PHP server language to realize the forum function, storing data by the MySQL database, explain the PHP program with the help of Apache server,realizing the user registration, login, post, reply, delete, modify the basic information, messages, chat, the administrator of the user, posts, chat room,messages management etc.Key words:online forum; chat room; message board; database (MySQL)1 绪论随着网络的飞速发展,人们对网站的开发要求也越来越高,不仅网站的界面要美观,而且网站的功能还要齐全。而随着网络的普及,在线论坛也慢慢地进入了各个领域,成为各个领域用于讨论的一个不可缺少的部分。而重庆师范大学(简称重师)目前还没有一个完整的学习交流平台,有的也只是老师们或学生们自己建立的QQ群,但是QQ群里面的成员人数是有上限的,与此同时QQ群里面发布的信息对于非QQ群成员还是非公开的,外界通过关键字是不能搜索到群里面发布的任何信息,完全处于屏蔽状态!假如通过百度里面的关键字搜索能够搜索到论坛成员们发布的信息,那就太完美了。另外对于QQ群来说,只有互为好友之后才能对彼此发表的文章进行评论,导致信息流通的局限性!2 设计目的 本次设计旨在提升设计者的动手能力,加强对理论知识的理解和实际应用。21世纪是信息高速发达的时代,网络作为当今最流行、最方便快捷的媒介也越来越被人们接受,而作为新世纪的计算机系大学生更应该具备一定的网络知识,来充实和武装自己,这也是本次设计的目的。该设计主要借用PHP与MySQL数据库达到Web后台管理,同时结合XHTML、CSS和JavaScript来设计出动态的Web前端,以达到该设计的目的。而网站的设计理念是让更多的人在一个平台上学习交流,不受人数的限制,通过聊天室即时地进行交流学习6。3 设计说明 论坛英文名叫BBS,是Bulletin Board System 的简称,是浏览者相互沟通的平台。通过在线论坛,用户不仅可以阐述自己的观点,还可以回复其他论坛成员的帖子,还可以在聊天室交流,通过留言板相互留言,发表意见、看法等观点,从而达到相互学习和交流的目的。在本设计中,论坛包括以下功能:用户注册登录、用户空间、帖子操作、留言板、聊天室、视频观看、在线阅读、下载资料、管理员登录、后台操作、注销11。论坛首页如图3-1所示:图3-1 论坛首页设计 4 系统设计4.1 功能分析本论坛主要实现以下功能:第一方面是前端拥有的功能模块,包括用户的注册登录,查看帖子内容、发表帖子、回复帖子和分享帖子,上传照片,查看留言、发表留言,聊天室发言,视频观看,在线阅读,下载资料,注销;第二方面是后台拥有的功能模块,包括管理员登录、栏目管理、主题管理、留言板管理、用户管理、资料中心、聊天室管理、注销12。 浏览者登录否未注册注册用户是查看帖子回复帖子分享帖子发表帖子聊天室意见留言板视频观看注销在线阅读下载中心用户留言板图4-1 Web前端流程图 浏览者登录否是管理员用户管理聊天室资料中心留言板主题管理栏目管理注销 图4-2 后台流程图 4.2 数据库分析在线论坛主要依靠的是数据库的支持来存储大量的数据,因此数据库设计的成败是该网站能否成功运行的关键。4.2.1 数据库概要说明在在线论坛中,采用的是MySQL数据库,用来存储用户信息、帖子信息、聊天室和留言板中的信息等,用Navicat for MySQL来可视化操作数据库。在建立数据表时采用MyISAM引擎,utf8字符集。在本设计中,我将数据库命名为db_forum,其中包含的数据表如图4-3所示:图4-3 数据库中数据表的截图4.2.2 数据库逻辑设计在线论坛是典型的数据库开发应用程序,论坛的数据库设计是一个非常关键的环节,下面将对论坛开发中使用的数据表进行介绍。论坛系统中创建的数据库名称是“db_forum”,Apache虚拟服务器的用户名是“root”,密码为空4。在创建的数据库中包括12个数据表,其中每个数据表实现的功能如表4.1所示:表4.1 db_forum数据库中数据表功能说明数据表名功能说明tb_usertb_admintb_posttb_postreplytb_sharetb_lytb_contactlytb_phototb_downloadtb_studytb_onlinechat存储注册用户的个人信息存储管理员的个人信息存储用户在论坛中发布的贴子信息存储被回复的贴子的信息存储被分享的帖子的信息存储用户的留言板信息存储浏览者对网站的意见或看法存储用户上传到论坛上的图片信息存储提供下载的文件信息存储学习视频和在线阅读模块中的文件信息存储进入聊天室的用户状态存储用户们在聊天室发言的内容4.2.3 数据库概念设计 根据网站功能结构,规划出网站中使用的数据库实体对象以及实体E-R图。当用户注册后,需要将用户信息存储到数据库中,包括用户的用户名、真实姓名、密码、性别、电话号码、QQ、Email、地址、个人主页、头像等属性,实体E-R图如图4-4所示:用户信息用户id用户名真实姓名密码电话头像.qq性别email个人主页图4-4 用户信息表的E-R图在数据库中用户信息表(tb_user)的字段设置如图4-5所示:图4-5 用户信息表的字段图管理员必须在后台登录以后才能进入后台进行操作,管理员信息包括管理员用户名和密码等属性,实体E-R图如图4-6所示:管理员信息管理员id用户名密码图4-6 管理员信息表的E-R图 在数据库中管理员信息表(tb_admin)的字段设置如图4-7所示:图4-7 管理员信息表的字段图当用户发表贴子时,需要将帖子信息存储到数据库,包括发表人、主题、内容、类别、发表时间等属性,实体E-R图如图4-8所示:帖子id帖子类别帖子主题帖子内容用户名发帖发言时间图4-8 发表帖子E-R图 在数据库中帖子信息表(tb_post)的字段设置如图4-9所示:图4-9 帖子信息表的字段图当用户留言时,需要将留言信息存储到数据库中,包括留言人、留言内容、留言时间等属性,实体E-R图如图4-10所示:留言板留言id用户名留言内容留言时间留言人 图4-10 留言板E-R图 在数据库中留言板信息表(tb_ly)的字段设置如图4-11所示:图4-11 留言板信息表的字段图当用户进入聊天室后,系统将记录用户进入聊天室的时间和退出的时间,并将他们聊天的内容存储到数据库中,包括用户名、聊天内容、表情、发言时间,实体E-R图如图4-12所示:聊天室内容id用户名聊天内容表情发表时间图4-12 聊天室数据存储E-R图 在数据库中聊天室信息表(chat)的字段设置如图4-13所示:图4-13 聊天室信息表的字段图在论坛首页就可以看到网站还包括下载中心、学习视频、在线阅读三个模块可供浏览者浏览,这三个模块是用户在没有注册的情况下就可以操作的,是公开的。这三个模块都是管理员在后台将文件上传,然后在前端将上传的文件信息显示出来,从而进行下载、阅读、观看。这三个模块中的数据存储非常相似,下面就将下载中心的数据存储说明一下。下载中心存储的主要信息包括用户自定义的文件名、原文件名、文件的存储路径、文件类型、文件上传时间等,实体E-R图如图4-14所示:下载中心文件名上传时间分类原文件名文件id文件类型注释文件路径图4-14 下载中心文件信息E-R图数据库中下载中心文件信息表(tb_download)的字段设置如图4-15所示:图4-15 下载中心文件信息表的字段图5 系统实现5.1 用户注册当用户第一次浏览本论坛时,要想有更多的操作,就必须先进行注册,然后登录。单击“马上注册”,进入注册页面,按照要求输入注册信息,提交即可成功注册帐号11,用户注册页面显示效果如图5-1所示:图5-1 注册页面 5.1.1 页面设计运用CSS将页面进行美化,应用表格技术合理的划分和布局,在对应的表格中嵌套表单元素,并且设置表单元素的名称6。用户注册模块中涉及的XHTML表单元素信息如表5.1所示:表5.1 用户注册页面涉及的XHTML表单元素名称类型含义重要属性form1usernametrue_namepasswordpassword2sextelQQtxemailindexaddressSubmitSubmit2formtexttextpasswordpasswordradiotexttextselecttexttexttextsubmitreset表单注册用户名真实姓名注册密码确认密码性别电话号码QQ号码头像邮箱个人主页地址提交表单重置表单method=postaction=register_ok.phponSubmit=return checkit();男 女5.1.2 代码设计在完成用户注册模块的整体布局之后,接着就是实现用户注册模块的功能。首先通过JavaScript脚本对表单提交的数据进行判断8,关键代码见附录1。当用户单击“确定提交”按钮后,将表单中的数据提交到用户注册信息处理页面register_ok.php中,将数据添加到数据库中进行存储,主要程序代码见附录2。5.2 用户登录系统登录是用户进入论坛的门户,只有通过登录,才能对登录用户进行身份验证。只有论坛的合法用户才可以对论坛中的帖子进行操作,登录界面效果图如图5-2所示:图5-2 登录界面 5.2.1 页面设计用户登录模块的设计非常简单,只包括两个文本框和一个提交按钮2。5.2.2 代码设计用户登录模块的主要功能是通过两个步骤来完成的,首先在用户登录页面中输入用户名和密码,然后单击“登录”按钮,将数据提交到用户登录的数据处理页面,对提交的用户名和密码进行验证,如果正确,登录成功,否则失败7。其中数据处理的代码见附录3。5.3 帖子模块设计5.3.1 发表帖子 页面设计 当用户成功登录后,可以发表自己的帖子,发表帖子主要包括帖子的主题,帖子的类别,帖子的内容,用户填写完发表的信息以后,单击“发表”按钮,系统将把发表的帖子信息存储到数据库。该模块包含的表单元素主要有一个文本框,一个文本域,还有一个提交按钮1。 代码设计当用户提交发表帖子的表单后,系统将表单数据提交到数据处理页面进行处理,主要代码见附录4。回复帖子模块、分享帖子模块这两个模块的设计与功能都与发表帖子模块是异曲同工,所以在这里就不再累赘。5.4 意见留言板5.4.1 页面设计意见留言板的功能主要是为来访者提供一个反馈的平台,无论他们是否是论坛中的成员,都可以发表他们的意见、看法,从而使管理员得到关于浏览者对网站的建议或看法5。5.4.2 代码设计来访者提交留言之后,留言板的数据将被提交到指定的处理页面进行处理,重要的程序代码见附录5。用户留言板与意见留言板是一样的,只是用户留言板必须在用户登录之后才能留言,其他都如出一辙,在这儿就不再重复。5.5 聊天室5.5.1 页面设计当用户注册登录之后,就可进入聊天室与在线成员进行讨论、学习。基于刷新的聊天室的实现原理是在客户端的网页中使用某种机制,使页面每隔一定时间自动刷新一次,通过刷新所发出的HTTP请求,从服务器获取最新的发言消息9。聊天室页面是用框架结构设计而成,分为三个部分,聊天内容、发言界面、登录信息。聊天室的页面效果图如图5-3所示:图5-3 聊天室 5.5.2 代码设计当用户进入聊天室以后,系统将自动检测用户信息,并将用户的登录信息显示在登录信息显示框架页面上。当用户发言以后,单击发言按钮,系统将发言表单提交给处理数据的页面进行数据处理,并将数据存储到数据库,在聊天内容显示框架中,通过刷新将提交的数据显示在该页面中,从而达到即时交流的目的10。主要代码详见附录6。5.6 后台设计5.6.1 页面设计图5-4 后台首页 5.6.2 代码设计管理员只有正确输入了用户名和密码方可进入后台进行操作,而后台的框架相对来说较简单,主要根据单击不同栏目的超链接显示对应的栏目信息,默认情况下为栏目管理6。程序代码见附录7。5.7 用户注销当用户想要退出时,就可以注销,离开本网站,与此同时注销后将不能继续操作。用户的信息将在浏览器上被删除,下次来访时,需再次登录。主要实现注销的代码如下所示:5.8 上传与下载文件上传时,一定要将文件上传提交的form表单的enctype属性设置成为multipart/form-data,否则服务器将不知道提交的表单想要干什么。提交表单后,系统将文件上传到指定的文件夹,如果没有指定文件夹,系统就会使用默认的临时文件夹1。上传的主要代码见附录8。文件下载主要通过HTTP方式下载文件,其中主要应用header()函数。header()函数属于HTTP函数,其作用是以HTTP协议将HTML文件的标头送到浏览器,并告诉浏览器具体怎样去操作1。下载功能的源代码见附录9。6 实例操作数据库是网站前端与后台连接的桥梁,比如用户注册成功之后,存入数据库的信息将会在后台显示。同时在后台,管理员可以对非法用户进行删除10。具体的操作流程图如图6-1所示:图6-1 注册操作流程图7 调试运行7.1 服务器问题本地虚拟服务器和VPS服务器不同的地方如表7.1所示:表7.1 本地服务器和VPS服务器的不同 本地虚拟服务器VPS服务器主机用户名密码数据库名localhost或root空db_foruma030100130187582452a0301001301在将网站上传到VPS服务器时,一定要更改上面列出的各项属性的值,否则将无法访问到上传的网站。7.2 浏览器兼容性问题由于浏览器与网站各自兼容性有所差异,通过各种调试,综合运行,主要兼容Firefox、360安全浏览器、Google Chrome、Safari等浏览器。7.3 乱码问题当截取字符串时,因为存在中文字符,而中文字符占两个字节,从而在截取字符串时可能从字符中间截取,从而出现乱码的问题,一般采用substr()函数将出现乱码,但采用mb_strcut()将解决乱码的问题。上传文件时,文件存储到临时文件夹时,文件的文件名如果有中文字符时,将出现乱码,解决办法就是用iconv(utf-8,$filename)这句代码将文件名的编码字符集设置成为utf-8。8 设计总结本设计是以PHP为开发基础,结合CSS、JavaScript等主流技术实现的在线论坛系统,着重对在线论坛的开发流程进行研究,围绕主流Web开发应用技术,结合动态网站开发特点及需求,根据系统运行环境,选用数据库既可以提高系统的安全性与稳定性,同时也极大降低了开发成本。另外,程序的运行采用了XAMPP集成环境,利用PHP开源性与易开发性等特点开发程序,给整个过程带来了便捷,但本网站只能满足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ps课程考试试题及答案
- 厂房股权转让与金融服务合同范本
- office 考试试题及答案
- 四级考试软件测试工程师必看试题及答案
- 交通设备制造业数字化转型与智能交通设备产业未来发展趋势报告
- 流域生态保护补偿机制与生物多样性维护
- 铁路公司运营管理方案
- 工业互联网平台网络隔离技术在智能工厂生产设备升级改造的实践报告
- 关于成立泡沫箱公司可行性研究报告
- 清洁生产复习测试卷附答案
- 2025年财务管理全球经济试题及答案
- 2025-2030年芳纶纤维行业市场深度调研及发展趋势与投资研究报告
- 转让亚马逊店铺合同协议
- 2024年滨州市沾化区区属国有企业招聘考试真题
- 纺织机械操作知识掌握策略试题及答案
- 烟台科目一试题及答案
- 2025-2030沥青再生行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 5《有话好好说》(教案)-大象版心理健康四年级
- 2025-2030中国氮气弹簧行业市场发展趋势与前景展望战略研究报告
- 制造企业生产效率提升计划
- 《老年服务礼仪与沟通》高职养老服务类专业全套教学课件
评论
0/150
提交评论