版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上本科毕业设计(论文)说明书 基于B / S模式的个人博客系统的设计与实现 学 院 华南理工大学广州学院 专业班级 计算机科学与技术2班 学生姓名 学生学号 指导教师 提交日期 2014年 5月 13日 专心-专注-专业华南理工大学广州学院学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名: 日期: 年 月 日学位论
2、文版权使用授权书本人完全了解华南理工大学广州学院关于收集、保存、使用学位论文的规定,即:按照有关要求提交学位论文的印刷本和电子版本;华南理工大学广州学院图书馆有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务;可以采用复印、数字化或其它复制手段保存论文;在不以赢利为目的的前提下,可以公布论文的部分或全部内容。学位论文作者签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日作者联系电话: 电子邮箱:摘 要国内各大网站上均有各自的博客系统,但是各有局限、功能欠缺,为了实现无需成本,无需技术,便可搭建自己的博客系统,本文设计开发了一种功能简洁、页面美观、便于流行的博客系统。系统采用了
3、动态Web应用PHP技术开发博客系统的设计与实现,后台采用MYSQL数据库系统,结合JavaScript和HTML ,实现了功能较为全面的个人博客系统,其中还独创了小聊天室功能,用户可以在其中进行在线的交流。无论是普通用户的前台操作,还是管理员的后台管理,都会简单易行,页面简洁美观,访问方便,用户也可以通过自己的博客系统随时发表自己的文章、查看评论,也能轻易地检索到自己需要的资料,并发表意见,及时的与别人进行信息的共享与交流。本文对博客系统进行整体分析,明确了系统的可行性和用户需求,根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施
4、;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。关键词:博客;PHP;MYSQLAbstractMany major sites have their own blog system, but lacking in functionalitywhich each has limitations, in order to achieve a system of our own blog, for ze
5、ro cost, zero technology, This page appearance, more convenient for popular blog system. This system uses a dynamic Web application design and implementation of PHP blog system technology development, using MYSQL database system to technical background, combined with JavaScript and HTML, to achieve
6、a more comprehensive functional personal blog system, which also original a small chat room, users can communicate online . Whether it is the ordinary operation of the user's foreground or background management administrator, will be simple, the page simple and beautiful, easy to access, users c
7、an, through their own blog system at any time to express their articles, view comments, it can easily be retrieved information they need, and to express their views in a timely manner to share with others and exchange information.In this paper, which overall analysis of the blog system , defined the
8、 feasibility of the system and user needs . according to a modular principle to planning and design of the system functional modules . in database design section , a detailed description of the integrity, security system database structures and databases measures . program design is the use of objec
9、t-oriented program design, program design ideas proposed system , the function of the front and back of program implementation are discussed in detail ,system testing section , specific analysis of the main problems arise during testing and presents solutions for system functions. Finally, we will c
10、omprehensive assessment system as an objective and suggestions for further improvement .Key words: blog; PHP; MYSQL目 录第一章 绪 论1.1. 博客的产生“博客”起源于中国,历史学家普遍认为,最早来自中国秦朝。 秦始皇被刺杀,找到一位侠客,并选择博浪沙作为刺杀地点,刺杀结果失败。但秦帝国仍然受到这一事件感到震惊,纷纷在第一时间对其进行报道,无数竹简在驿道上来回奔跑,上述消息仅刻着朱红色的一行篆字:“博浪沙之侠客”因此,在原来的意思是“博客”是指突发的大事件。开发博客,需
11、求和前景2001年9月重要11日,世界贸易中心恐怖袭击,博客已经成为灾难的重要信息和经验来源。从此,博客正式进人们的身边。或许是这一系列恐怖袭击,让人们了解到生命的珍贵,人际沟通是非常被人们所需要的,这种直接最有效的传递信息的方式,让人们有了全新的认识。从发展的早期阶段,一方面是一个双功能的博客,它是一个伟大的工具,在网上写日志功能,可以记录个人生活,展示自我的文本形式,也可以让别人在网络上了解他们的自己的,博客是一个舞台来展示自己;其他博客也是一个伟大的沟通工具,利用博客可以发送一些重要的新闻的最直接和最有效的方式与人沟通。正好砸在世贸中心的恐怖袭击,网络的第一个事件作为一个信息源,我们可以
12、看到博客的重要性。制定一个个人博客系统,是基于这样的一个想法,通过各种方式来表达自己和与他人沟通。1.2课题意义博客系统是这样一种影响力颇大的媒介将有利于好的思想和好的事物的传播,有利于社会的进步。但也无法忽略个人博客目前所面临的主要问题:由于文化市场监督不利,网络技术发展不完善等原因,势必会造成一些暴力、淫秽以及影响社会安定的内容广泛传播于网络,这就需要文化部门的有力监督。1所以要把博客好的方面的影响力发挥到最大,怎样使博客朝着正确的方向发展必然就要求开发博客新技术来获得更多人的认可。一旦博客研究取得关键性技术的新突破,将会在网络世界掀起一股前所未有的博客浪潮,介时将会有更多的人拥有自己的博
13、客,博客影响力也将倍增。这时通过博客一些新的科学技术将更容易推广,好的政策和好的思想也会更加容易传播,同样抑制或者让不良思想无法在博客系统中进行传播。如果这样相信社会的进步将会是显而易见的。本文开发的博客系统就是为管理员提供可管理的一个网络空间,同时为浏览者提供浏览文章、查看图片、发表评论的功能,博客管理员对整个系统的博客内容进行管理,享有最高管理权。本文采用PHP+Tomcat+Mysql进行系统开发,功能性设计方面依据现有的博客系统的已有功能进行进行整合扩展,实现更符合个人需求的博客系统,博客系统的兴起与不断壮大对我国社会文化,我国网络时代具有特殊的意义。 1.3国内外研究现状与
14、发展趋势 博客的发展与互联网的发展是紧密相关的, 目前互联网上的博客提供服务主要有一下的三种类型:一、专业型的博客提供服务:即网站的主要业务是提供博客服务, 如中国博客网、网易博客等。二、附属型博客提供服务:博客服务是整个网站中的一个子系统,是为网站的一个扩展功能,对其他的功能气相互相成的作用,如新浪、CSDN等三、个人的博客提供服务:这种应用类型所需要的条件较高, 使用者需要自己提供服务器空间、域名和博客程序, 但这种类型所给予用户的自由度也最大。而从博客自身的纵向发展来看, 其功能经历了一个从简单到复杂的过程。早期的博客系统只不过实现了在用户的一个专门页面发布信息的功能, 而伴随
15、着XML与RSS技术, 博客能够以一种新的数据形式发布和订阅文章;伴随着TrackBack和PingBack功能, 博客引入了一种主动通告的机制, 使得用户们更容易形成一个紧密结合的社区;通过对XML-RPC以及WebService七的支持, 博客用户能够以离线的方式添加或修改日志, 带来了更加灵活的操作方式通过CSS、html等页面开发技术, 博客用户能够更加随意、自由地更改显示外观, 表现自己的个性。2博客系统已经成为一个强大的个人展示平台, 一些中小企业甚至可以将博客作为一个宣传自身、介绍产品的门户。作为一个典型的Web应用程序, 博客系统的实现方式可以是多种多样的,其开发可以采用目前流
16、行的任何一种Web开发技术。技术本身并无优劣之分,但考虑到快速便捷的整体规划, 本博客系统采用PHP作为实现平台,大量地吸收了PHP平台的优点实现了一个轻型、便捷,较可靠的博客系统。1.4 本章小结本章主要介绍了博客的历史、博客是怎么产品的及它的发展过程,还有选题的意义。第二章 可行性与需求分析2.1可行性分析在确定开发工具和相关技术知识的理解后,开始正式进入系统开发阶段。首先,我们要研究系统的可行性。系统的可行性研究是为了确定以最低的代价在最少的时间内把问题解决。然而可行性研究的目的不是为了解决问题,而是确定问题是否值得解决。因此,可行性研究实质上是一个系统的分析和设计过程中,为了
17、更抽象的方式达到一个更高的水平。1.1.1 经济可行性一、在传播方面,博客非常适合传播的针对性,对于不同类型的博客,分割的高度,定向相对准确的,相关的广告客户根据博客广告的类型,因此对广告单元观众的值相对较高。二、在传播过程中,博客的传递时对于个人的,而以前的广告或者卖东西通常是对于大众的,在大众和个人之间是分开来的,而人与人的沟通是建立在个人之间,所以博客被称为是更有潜力的沟通,在众多类型的传播,人际传播的效果比其他形式的沟通更好,尤其是在说服和沟通的情感方面。郭庆光的传播学教程一书中指出,一方面是和强大的双向人际沟通,及时反馈,互动频率高,而另一方面,人际沟通是非制度化的沟通的一种形式,教
18、授,即建立与自发,自主和非强制性的传播之间的关系,人际交往主要是基于自愿的活动和协商一致的基础上。三、在传播的手段,博客的广告与传统的广告方式对比,更加针对特定人群,价格也相比传统广告更低。博客作为Web2.0模式代表了过渡从商家为客户提供积极的主动越好,然后双方互相举措。方兴东认为, Web2.0的个性化主张使个人,而不是一个被动的对象,但由于涉及互联网主题,网民作为个体,而且在同一时间,互联网已成为活跃的传播者和生产的人。3另一种身体成分博客与网友交流通常是光明公众的一部分,这些人有欲望和表现相对较强的表达,因此参与的广告意识也比较强。四、在传播技术上,个人博客广告通过准确的定位技术锁定的
19、人群,直接在目标人群面前发表。例如,使用语义分析技术可以直接把文章围绕与业务有关的区,您可以锁定特定目标人群的广告客户,广告计费可以根据广告客户的需求,根据时段,节目的数量,点击支付的数量,也可以通过支付是否有效付费。1.1.2 技术可行性PHP可以做到所有你想到的任务。 因为PHP主要用于服务器端脚本程序,所以你能用 PHP所有其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态页面内容。使用PHP,能任意的选择操作系统和 web 服务器。4还可以在选择对象的过程中联合起来一起使用。尽管PHP 4不能支持所有的标准,许多代码和大型的应用软件仅使用OOP代码来开发。PHP 5 弥补了
20、 PHP 4 的这一缺陷,添加了完整的对象模型。使用PHP 不仅仅能够输出HTML。4还能用来输出动态图像、PDF 文件甚至动画。PHP能够自己生成这些文件,对于不是静态的内容可以在服务器中暂时保存,也可以打印出来。PHP是最显着的特点最强大之一是它适用范围广的数据库的支持。用户会发现,使用PHP编写数据库支持的网页简单得难以置信。综上所述, PHP + Apaceh + MySQL的应用开发博客系统是可行的。51.1.3 操作可行性目前的计算信息机技术已经成为一项成熟的技术,信息技术的应用为城市将发挥重要作用。这主要体现在以下几个方面:(1)计算机技术是目前处理速度和计算机的运行性能具有相当
21、水平,处理博客管理中的事务完全能够胜任;(2)数据存储设备的数据存储技术可以提供相关信息的安全性,统一存储和管理,消除存储在纸介质上或分散管理信息的不利因素,安全性、数据共享、在很长一段时间你都可以得到保护;(3)数据库技术的发展,数据库技术已实施了多种海量数据管理,访问和使用非常提供商检索效率;在安全性,稳定性和更完美;(4)网络技术现在更快的网络速度,带宽越来越大,而价格却在下降。对于任何一个单位,建立一个信息系统,目的是联想到其所有部门的下面一起工作,从而提高工作效率;从以上的观点有关技术角度目前的发展水平,建立技术条件的系统已经满足,该系统已经建立了条件。因此,该系统具有操作可行性。1
22、.1.4 硬件可行性系统所采用的技术和运行的平台都是比较成熟的经过了大量的实践,目前的硬件配置大多数都足以满足系统的运行所需要的要求。5 系统的基本硬件要求:网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和系统平台(Windows7)、支持PHP架构的能处理动态网页技术的浏览器(IE6.0以上等具备解释PHP技术的浏览器)。2.2需求分析需求分析的主要是为了确定系统一定要完成什么,是对系统提出准确的要求,是为了清楚软件的需求、安排工程的进展、规划软件开发与测试。2.2.1性能需求性能需求指定系
23、统必须满足的时间的需要,通常有反应的速度,信息的处理速度,内存占了多少,还有安全性等方面的问题。这个网站需要满足快速响应用户的操作,响应时间应该很短的时间内被控制,数据将被实时更新,该网站只是一个小站,不占用太多的资源,并当然,如果有更大的内存和处理服务器和硬件支持的能力,肯定提高速度。6当然博客的性能需求还有以下几个方面多样性:博客网站是以用户作为设计的重要部分,随着网络的快速发展,不仅改变了人们的生活方式,还大大降低了信息的咨询成本,在现在用户可以有各种各样的选择,博客网站除了要把成本降下来以为,还要在多样性上下功夫,如加多点贴心的功能,或者多彩的界面等,这样才能得到用户的认可,还能留住用
24、户。易维护:博客系统要简单且易维护,管理起来方便才能让人更好的使用,随着博客信息量的增大,功能的增多,易维护是开发者要考虑的一个部分,要保证在后期加了很多功能以后,还是和以前一样易维护。安全性:博客是给人分享的平台,系统的安全性是我们要考虑的问题,信心的安全,设备运行的安全,管理的安全,要保护好用户的个人信息安全,给用户一个踏实的环境,要建立起完善的安全体系。7可扩展:网站发现飞速,博客对不同的用户,不同的行业,都有着不同的需求,系统在设计的时候要充分考虑到不同用户的需求,降低将来功能扩展时的难度。2.2.2系统综合需求前台要实现的功能:(1) 简约的界面,色调柔和,以蓝色为主。(
25、2) 浏览博客的人可以自由发表评论。 (3) 搜索功能,能够对站内所有的文章进行关键字搜索(4) 页面功能,页面是独立于文章的特定板块,有独立的评论空间,相对于其他文章而言是独立的。后台管理功能:能对网站的大部分内容进行管理,方面用户直接管理自己的系统。运行要求:windows平台下Apache http服务器+PHP解析引擎+MySQL数据库。可靠性:系统运行数据要一致,如果遇到系统不能正常运行要提供快捷恢复方式。可用性:系统要方面好用,能给用户提供所需要的东西,且可以为网页以后可以做不同的延伸,如博客的朋友圈或者好友分享功能等。出错处理:如果用户输入的数
26、据不是正确的,要尽可能在程序中弹出输入错误的提示,要对于系统的错误信息注意对其进行隐藏,并转给对应的处理页面进行处理。图2-1 博客信息管理系统2.2.3 系统需求管理规划表 根据以上对系统的需求分析,我们可以得到一个更加简单的的系统需求管理规划表,本表写出了系统的各项主要功能,并且对其分类,配有间断描述,最重要的方面给出了各个功能需求的优先级,优先级的高低表示了功能实现的迫切程度和重要的程度。表2-2 优先级需求分析表需求名称描述优先级用户注册用户可以注册自己的各项信息高登录、退出用户可以登录或者退出博客系统高文章添加若用户已经注册,用户可以发表文章高文章删除管理员可以删除全部文章
27、,如果是普通用户只能删除自己写的文章高浏览文章博客的读者可以浏览博主的文章高评论文章博客的读者可以对博主的文章进行评论中留言读者可以在留言板中给博主留言中查询用户可以通过查询功能快速查询到感兴趣的文章中2.3数据库需求分析2.3.1 MySQL数据库简介 MySQL数据库由瑞典MySql公司开发和维护的一个精巧的SQL(Structured Query Language,结构化查询语言)关系型数据库管理系统(DBMS)。MySQL数据早在90年代中期就开始出现,经过近10年的发展,MYSQL已经发展成为一个成熟的数据库,它不仅非常小巧灵活并且性能非常强大,提供多个
28、接口,方面用户使用,得到了许多开发人员的认可。MySQL数据库提供完善的SQL-92标准的结构化查询语言,如select、delete、insert、update语句。通过MySQL在操作系统上建立的ODBC可以轻松将这些SQL语句翻译成为相应的MySQL数据库管理系统指令并对数据库进行管理。作为关系型数据,8MySQL完全支持对于各种数据库对象的管理和便捷操作,这里包括表(Table)、视图(View)、存储过程(Stored Procedure)和触发器(Trigger)等。MySQL数据库提供完全可视化的窗口,可以更直接的对数据进行管理。 当然,MySQL数据库也完全
29、支持ADO(ActiveX Data Objects)数据库应用程序的数据库访问技术。ADO它被设计用来同新的数据库访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data MySQL)。OLE DB是一个底层的数据库访问接口,用它可以访问各种数据源,包括传统的关系数据库。8ADO封装了OLE DB程序中使用的大量COM接口,所以是一种高层访问技术。所以MySQL非常适合PHP技术开发动态网站。2.3.2 数据库表的设计根据该需求分析和第三部分的概要设计,可以设计要使用的一
30、个数据库表对应的系统,首先判断数据库表的基本设计是一个表,用于存储关于一个实体或对象的信息,那么该数据库的分析和设计相对简单。9对于不同的对象或实体,取决于需要和该系统的未来扩展,可以适当地细分。的信息和动态信息的另一个扩展分别放置在不同的表。 当然,上表中的主键的任何信息将是重要的,以设置一个唯一的标识符,主密钥是不实际使用的术语,仅用于唯一地标识一个数据项,通常用数字自动编号。10通过需求分析和概要设计,在MySql数据库中建立名为db_blog的数据库,把所有的信息存在数据库里里面,在里面建立如下的表,分别为:用户表(tb_user)、文章内容表(tb_article)、文章评论表(tb
31、_filecomment)、留言板(tb_book)、公告表(tb_public)五个表。 用户表系统主要是为满足网络用户的需求使用博客,因为网络本身的特点,以及一个网络工具很多,它被设置比较高的用户信息,这里主要是用户的ID号,这是用来唯一识别用户的标识是用户表的主键。表2-3 用户表序号字段名类型长度索引备注1idIntKey自动编号2nameVarchar50用户帐号3truenameVarchar50真实姓名4pwdVarchar50用户密码5birthdayDate用户生日6emailVarchar50E-mail7cityVarchar50所在城市8sexVarchar5
32、0用户性别9qqVarchar50用户QQ10introduceVarchar50自我介绍11figInt10管理员文章内容表 本表主要用来存放文章的各种信息,这也是博客系统中非常重要的一个表。其中文章ID编号为主键,唯一标识一篇文章。其它信息详见表2-4所示。 表2-4 文章信息表序号字段名类型长度索引备注1idInt20Key自动编号2TitleVarchar200文章标题3contentMediumtext50文章内容4authorVarchar50文章作者5datetimeDatetime上传时间文章评论表 文章评论表主要存储对一篇文章的评论的各种信息,文
33、章的评论信息相对于文章的信息而言要简单一些,评论列表存储用户对文章的评论,包括注册用户和游客都可以发表评论。主要包括唯一标识评论的id编号,是主键。表的结构如表2-5所示。表2-5 文章评论表序号字段名类型长度索引备注1idInt20Key自动编号2FileidVarchar200文章id3usernameMediumtext50评论用户4contentVarchar50评论内容5datetimeDatetime评论时间公告表表2-6 公告表序号字段名类型长度索引备注1idInt20Key自动编号2TitleVarchar200公告主题3contentVarchar50公告内容4pubtime
34、date50公告时间留言表用来保存留言板上的信息表2-7 留言表序号字段名类型长度索引备注1idInt20Key自动编号2subjectVarchar200留言主题3contentVarchar50留言内容4datedate50留言时间 数据库ER关系图 数据库中的表有用户表、文章信息表、文章评论表、。本系统数据库的表的ER图如图11所示。图2-2 用户实体图 图2-3 文章实体图图2-4 评论实体图主要页面如表所示表2-8主要页面表文件名说明Login.php登录页面Index.php主页Article.php浏览日志页面Warticle.php写日志页面Cha
35、t.php聊天室页面Book.php留言板页面Hontai.php后台管理页面2.4本章小结本章在技术可行性、经济可行性、操作可行性方面及数据库的设计,系统的总体结构需求进行了简要的分析。第三章 系统开发工具及选择理由3.1 PHP介绍PHP(超文本预处理器 - 超文本预处理器)是一种HTML -嵌入式脚本语言(如ASP ) 。与大多数C,JAVA ,Perl中, PHP的兼容,并增加了独特的语法结构的PHP语法,动态页面可以执行比CGI或者Perl更快速,只需要很少的编程知识就可以创建交互式Web站点。它可以用于管理动态内容,数据库,处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数
36、据库,包括MySQL和PostgreSQL ,甲骨文,赛贝斯公司,Informix和Microsoft SQL Server 。PHP是完全免费的,不需要任何代价,你就可以使用PHP这个优秀的编程序言,而且你还可以从不同的网站上获得你所需要的源代码,这都是非常自由和分享的,你可以从源代码中学到很多有用的东西,且添加到你的代码中,使用PHP和MYSQL,你可以开发出一个很棒的动态网页,PHP在国外也非常流行。PHP具有以下优点:1 、学习起来比较容易:PHP只要你看过基础的1,2本书知道其自身的语法,就可以开始PHP的路程啦,它语言使用较为简单,数据库连接便利,PHP和MYSQL可以进行配合帮助
37、你开发,你可以使用它开发出许多有趣的东西。2 、可扩展性:PHP已经进入了一个非常快速的发展阶段,它不仅具有非常多的扩展功能还可以面向对象编程,它给了你许多类和对象,给了你WEB所需要的东西。 3.2 B/S结构 现在B/S的结构是非常流行的,用户发送信息给浏览器,然后浏览器发送给服务器进行处理,处理的结果显示在浏览器中, B / S架构简化了客户端,您需要配置客户端上的一个小的客户端软件。该服务器将承担更多的工作,执行数据库访问和应用程序将在服务器上完成。这种结构不仅沉重负担,使他们腾出手不断提高的性能要求的客户端,而且也从繁重的维护中解脱出来,提升工作的技术维修人员。因为事务处理
38、逻辑服务器的功能,因此客户端部分的客户突然“苗条”了很多,不再负责处理关键问题,如复杂的计算和数据访问,显示只负责该计划的一部分不再那么维护人员的维护工作来回各客户端之间,并专注于更新服务器程序的功能。此相互独立的层之间的三层结构,该变化不会影响任何层的其它层的功能。3.3JavaScript语言 JavaScript是面向对象的语言,它主要是用于让HTML与JAVAAPPLET合在一块使用,用来在网页中有多个对象时可以进行WEB的客户端的交互,来完成开发客户端应用程序。在JavaScript的应用下,能够用PHP开发出性能非常强大且易用的动态网站。3.4本章小结本章对PHP的介绍及
39、B/S架构,还有JavaScrip语言进行了简要的分析。第四章 系统详细设计4.1概述本博客系统利用PHP+MySQL+Apache开发,所有测试工作和编码都在windows环境下进行,下面将介绍详细设计的各个部分。4.11 用户登录为了实现特定的功能和方法,以更好地说明该网站,从注册功能登陆网站,站内推出开始后,并通过循序渐进的方式解释一步来实现其功能的代码。用户注册登录 注册的链接在login.php上,点击链接后进入的页面为register.php。注册时必填的信息为用户名,密码,真名,点击确定后,转到checkuser.php中进行处理,若不符合要求,则终止注册,显示错误信息
40、。 根据不同输入情况分别使用四条SQL语句将新用户的信息加入数据库。用户注册是在登录页面下的,主要由register.php完成。用户点击“博客注册”进入用户注册界面,然后阅读用户注册协议,确认后可以到达正式注册页面,否则返回。在正式注册页面中用户填写各种信息,包括姓名、密码等。用户的“密码”和“确认密码”必须一致才能注册,否则提示用户两次输入密码不一致。一切信息正确后系统会在数据库中为该用户自动生成一个用户ID编号,这个编号是自动递增的生成,用来唯一标识一个用户。用户登录和退出 用户的退出是在主页在进行的,经过注册的用户可以选择登录帐户,已经登录的用户也可以选择退出帐户。
41、登录时首先客户端发送登录请求给服务器端,服务器端通过数据库检查该用户名是否存在,如果存在,检查密码是否正确,在密码也正确情况下系统服务器端给予登录响应。登录后的用户将获得响应权限的功能。 而用户退出是在用户登录的前提下操作的,这时已经登录的用户选择退出,即可退出服务器并且释放Cookie和Session中的相关信息和资源用户注册的关键代码如下$regname=$_POST'txt_regname'/用户名$regrealname=$_POST'txt_regrealname'/真名$regpwd=$_POST'txt_regpwd'/密
42、码$regbirthday=$_POST'txt_birthday'/生日$regemail=$_POST'txt_regemail'/邮件$regcity=$_POST'txt_city'/城市$regsex=$_POST'txt_regsex'/性别$regqq=$_POST'txt_regqq'/qq$reghomepage=$_POST'txt_reghomepage'/个人主页$regintroduce=$_POST'txt_regintroduce'/介绍4.12主页主页
43、中包括博客最新日志区、最新的留言,搜索功能,公告的显示,把这几个界面区合理的组合是布局和美工的重要之处。图4-1 主页首页比较简洁,主要包括以下几个部分上部:包含导航栏左部:显示系统的公告右部:显示最新的日志和最新的留言在主页的设计方面首先要准备好素材,一个好的页面设计好素材和布局是不可缺一的,系统所需要的素材我花了挺多时间去找的,最终还是比较满意,主要是自己去使用CSS布局的时候比较麻烦,很多东西移多了一点或少了一点,结果出来都会很不同,要自己去慢慢调试,不断的反复使用才能调出比较好看的页面4.13 浏览日记 点击日记页面进入发表博客的界面warticle.php,在这里输入标题和
44、正文后信息被发送到check_diary.php页面,在这里首先检查标题或内容是否为空,如有问题则报错进行提示;检查无误之后使用SQL ADD语句将文章信息插入到tb_article表中。 因为文章的数量可能较多,如果在一个页面全部列出可能会影响外观,因此每个页面的链接数要做一定限制,如10到15个,之后使用循环语句将content中的文章信息动态的显示在页面上。 图4-2 博客文章列表 关键代码: $page=$_GET'page' /取得当前的页面编号 $eachpage=15; /每个页面显示15个
45、链接 if(!$page) /判断是否为第一页 $page=1; if(!$page|$page=1) /确定当前为第一页 $start=0; /从数据库表中第一篇文章开始 else $start=($page-1)*$eachpage); /计算当前页面第一片文章在数据库表中的编号 $sql="select * from admintextform order
46、160;by id desc limit $start,$eachpage" /在SQL语句中加入范围限制从$start到$eachpage结束 $result=mysql_query($sql); /执行查询 . while($rows=mysql_fetch_assoc($result)/while循环输出 echo $rowstitle;. /显示链接 . 之后还要加上页码栏以便用户转跳页面 判
47、断页码的关键代码: if($page>1)/判断当前是否第一页 $prepage=$page-1; /获取前一页的页码 $currentend=$start+$eachpage; /当前页码中最大的文章编号 $sql="select count(*) from admintextform" /查询表中的最大文章编号 $result0=mysql_query($sql); $rows0=mysql_fetch_row($resu
48、lt0); $total=$rows00; /获得最大的文章编号 if(int)($total/$eachpage)<($total/$eachpage) /计算当前最大的页码 $totalpage=(int)($total/$eachpage)+1; /页码数的计算方法为总文章数除以每页的文章数,结果为浮点数则取整加一 else $totalpage=(int)($total/$eachpage); if($total>$curre
49、ntend) /当前页码中最大的文章编号和表中的最大文章编号相比,确定当前的页面是不是最后一页 if(!$page) /是否为第一页 $nextpage=2; else /取得下一页的页码 $nextpage=$page+1; . 输出页码。 用户点击article.php页面上的标题链接后进入文章正文浏览的界面show.php,普通用户可以查看文章的正文并发表评论,而管理员还可以修改文章的内容,用户权限的识别通过变量SESSION来判断。用户发表
50、留言通过show.php页面下的留言面板进行留言,其代码与之前的博客文章发表较为相似,在这里不详细说明。 4.14 添加文章当用户登录后,通过浏览日记页面中的写日记按钮,可以进行添加文章,想要使用文章管理模块,前提是用户必须登录,匿名用户是无法访问这些功能的;想要删除文章和评论,前提是当前用户要么是管理员权限,要么是文章拥有者,否则不会显示删除功能的。这两方面的控制都需要session 的配合,本节就来讲一下session 的应用及常见的问题处理。session 的中文译名为“会话”,是指用户从进入网站开始,直到关闭网站这段时间内,所有网页共同使用的公共变量的存贮机制。session 比coo
51、kie 更有优势:session 是存储在服务器端的,不易被伪造;session 的存储没有长度限制;session 的控制更容易等。在session的使用过程中,尽可能把session放在第一行中,因为在session开始之前,如果有HTML代码输出的话可能会有问题,就算是一个小空格放在第一行也在不被允许的,所以尽可能把session放在第一行,且在使用session之前要先调用session_start()函数。图4-3 添加文章页面当用户填写完博客主题和文章内容后,单击“提交”按钮,系统将跳转到处理页check_diary进行处理。在处理页中,将传过来的文章标题、文章作者和文章内容等参数
52、组成insert 语句,并最终保存到数据表中。如果添加信息成功,系统返回到本页,可继续执行添加操作;如果添加失败,则返回到上一步。程序的关键代码如下:<?phpheader("Content-Type:text/html;charset=utf-8");session_start();/开启session支持include "Conn/conn.php"/包含数据库连接文件$author = $_SESSION'username'if($_POST'btn_tj'!="")/判断传值页面$titl
53、e=$_POST'txt_title'/取得文章题目$content=$_POST'file'/取得文章内容$now=date("Y-m-d H:i:s");/文章发表时间$sql="Insert Into tb_article (title,content,datetime,author) Values ('$title','$content','$now','$author')"/执行SQL语句$result=mysql_query($sql);if($r
54、esult)echo "<script>alert('恭喜您,你的日志发表成功!');window.location='article.php'</script>"elseecho "<script>alert('对不起,添加操作失败!');window.history.back(-1);</script>"?>4.15 删除文章对文章的删除处理,是后台管理的重要功能,当要对文章进行删除时,将跳转到处理页(del_file.php 和del_commen
55、t.php),完成删除操作。在删除文章的处理页中,删除文章的同时,也删除了该篇文章的相关的评论。处理页首先在文章列表(tb_article)中删除id 等于$file_id 的记录,如果没有可删除记录,则提示失败,并返回上一步;如果删除成功,则转到评论列表(tb_filecomment)中,删除所有该篇文章的评论。删除文章页删除处理的关键代码如下:<?phpsession_start(); /开启session支持include "check_login.php" /包含权限检查文件include "Conn/conn.php" /包含数据库链接文
56、件$sql="delete from tb_article where id=".$file_id; /删除文章的delete语句$result=mysql_query($sql,$link); /执行删除操作if($result)$sql1 = "delete from tb_filecomment where fileid = ".$file_id; /删除相对应的文章评论$rst1 = mysql_query($sql1,$link); /执行删除评论的操作if($rst1)echo "<script>alert('博
57、客文章已被删除!');location='myfiles.php'</script>"elseecho "<script>alert('删除失败!');history.go(-1);</script>"elseecho "<script>alert('博客文章删除操作失败!');history.go(-1);</script>"?>4.16 聊天室聊天室主要是为了给用户提供一个在线聊天的平台,用户可以在聊天室中进多人的聊天。
58、在聊天室主显示区中轮动效果是通过<marquee>标签来现的。<marquee>标签是HTML 自带的、也是初学者最常用的公告栏实现方式。使用<marquee>标签,可以实现文字或图片的滚动效果,增加了实用性的同时,也增加了观赏性。图4-4 聊天室页面主要的实现代码如下if ($action="say")/当用户点击聊天按钮echo "<head><title> ".CHAT_NAME." </title></head><center><bod
59、y bgcolor=#FFF style='font-size:12px;'>/<form action=".SCRIPT."?action=save method=post name=chat onSubmit='return check()'>".$_SESSION'username'."说:<input type=text size=80 maxlength=500 name=chatmsg style=' background-color:#FFF; width:550px; height:22px; border:1px solid:#'>/显示聊天信息<select name=usercolor><OPTION selected style='COLOR: #' value=''>默认颜色</OPT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中介公司团队年终总结
- 冠脉搭桥手术病例分析
- 光伏行业报告:国内外光伏需求两旺
- 2024至2030年中国高压尿素用不锈钢角式截止阀数据监测研究报告
- 2024至2030年中国铁艺公园椅数据监测研究报告
- 2024至2030年中国轿车接油盘数据监测研究报告
- 2024年自动温度检定系统项目成效分析报告
- 2024至2030年中国石榴浓缩汁行业投资前景及策略咨询研究报告
- 2024至2030年中国玻璃钢平板数据监测研究报告
- 2024至2030年中国手表MP3行业投资前景及策略咨询研究报告
- Q∕GDW 12176-2021 反窃电监测终端技术规范
- 系统解剖学——动脉
- 8 煤矿安全监测监控系统PPT课件
- 压力容器壁厚计算
- 新产品试制流程管理办法
- 通用横版企业报价单模板
- Excel 会计记账模板-录入凭证自动生成财务报表(超实用)
- 从高考“函数与导数”压轴题看数学学科核心素养
- 装修公司员工劳动合同
- 数控技术毕业论文幻灯片 数控立式铣床工作PPT学习教案
- 机械专业个人职业生涯规划书范文3篇
评论
0/150
提交评论