版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PHP课程设计 个人博客网站开发 学 院: 专 业: 姓 名: 学 号: 指导老师:完成日期:1 系统概述1.1项目背景Blog,是Weblog的简称。Weblog,其实是Web和Log的组合词。Web,指World Wide Web,当然是指互连网了;Log的原义则是“航海日志”,后指任何类型的流水记录。合在一起来理解,Weblog就是在网络上的一种流水记录形式或者简称“网络日志”。目前进行网站开发的语言很多,如ASP、PHP、JSP、ASP.NET等。本项目采用主流的PHP+HTML框架完成对个人博客的开发。1.2 系统开发的目标1.2.1任何拥有博客的人都可以做到(1)登录博客系统浏览
2、文章(2)管理自己博客的基本信息(3)撰写个人随笔(4)处理留言、文章评论等内容1.2.2 访问博客系统的人,可以做到游览博客系统中的文章目录、评论博客系统中的内容,只有博客管理员登录系统之后,才能进行管理。而博客系统的访问者不需要注册,也不需要登录就可以访问博客系统中的内容。1.4系统概述一个博客其实就是由一序列网页组成的,它通常是由简短且经常更新的帖子所构成的,这些张贴的文章都按照年份和日期倒序列排列,能按照日期和主题检索。博客的内容和目的有很大的不同,有到其他网站的超级链接;有对其他网站的评论;有个人的日记,日常所思所想;有个人照片、诗歌、散文,甚至科幻小说的发表。正是由于博客能收容这些
3、不拘于个人思想的表达,使博客这种交流和表达方式日益红火起来,博客秉承了个人网站的自由精神,也开拓了激发创造的新模式,能张扬人的个性,从这个意义上说,博客将会变得越来越普及,越来越为更多的人接受。本系统主要完成以下功能。1客户界面部分我的文章留言用户注册/登录首页:最新评论,最新文章2管理界面部分文章管理留言管理基本设置2 系统分析2.2 需求分析在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。2.2.1 管理员登录在调研中了解到,用户想要使用系统,首先
4、要有一个友好的用户注册界面,其次,用户需要经历登录验证过程,只有合法的拥有管理员身份的用户才可以使用系统中的管理功能,这样做可以防止非法用户登录并使用本系统,妨害数据安全。用户登录。通过系统登录验证,用户成功进入系统并开始使用其中功能。2.2.2 文章管理文章管理是用户所有文章的信息,用户可以进入此处进行相关文章的管理。这部分主要包括以下方面:(1) 文章信息显示。显示出所有文章的大概信息。(2) 发表新文章。可以发表新的文章。(3) 删除文章。允许用户对文章信息进行删除操作。2.2.3 系统信息管理系统开始运行之后,随着时间的变化会有想要更改系统的相关信息的要求,比如:修改博客的个人头像,爱
5、好,最难忘的事等等,因此需要提供信息修改的功能。2.3 系统的主要技术分析 系统开发平台WAMP集成环境开发平台。2.4 数据分析博客系统中,主要是管理用户的文章、留言、系统信息等数据。数据的类型决定了程序对数据的处理方式也就是算法,因此,数据是系统实现分析的起点。现通过数据流图的方式分析系统中数据的流动和处理。对系统的管理员,在登录系统后,本系统接受管理员的修改、添加、删除请求,通过分析将这种请求转化成相应的SQL语句执行对数据库的相关的操作,并将执行的相应结果送回系统中。系统接收到数据库返回的结果集,经过一定的分析处理,将其转化成ASP页面,返回到客户端显示给用户。2.5 数据流图博客整体
6、图管理员用户登录信息修改操作增加操作相应结果返回Blog系统服务器浏览者提供数据浏览请求 文章管理细节图3 数据库设计3.1 数据库技术概述数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。近年来推出的计算机关系数据库管理系统,还具有操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强等诸多优点。3.2 数据库选择本系统所采用的数据库是 mysql数据库3.3数据库逻辑结构设计和约束设置数据库的概念结构设计完毕后,
7、现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。博客系统中各个表的设计结果如下面表格所示。每个表格表示在数据库中的一个表: 字段名含义字段类型约束id账号varchar(20)主键passwd密码varchar(20)非空uname用户名varchar(50)非空sex性别varchar(10)只能取男或女age年龄integer -用户表-wyb_users 博文表-wyb_articles字段名含义字段类型约束bid博文编号number自动增长列,主键title 博文题目varchar(255)非空type_name博文类型varchar(25
8、5)与wyb_types表中的type_name外键关联content博文内容varchar(2000)-time写入时间date- 类别表-wyb_types字段名含义字段类型约束type_name类名名称varchar(50)主键describe分类描述varchar(500)非空分类表-wyb_classify字段名含义字段类型约束type_namebid类名名称博文编号varchar(50)number(type_name,bid)联合主键,与wyb_articles表中的bid及与wyb_types表中的type_name外键关联,且级联删除。 评论表-wyb_comments字段名
9、含义字段类型约束bidunametime博文编号用户名写入时间numbervarchar(50)date(bid,user,time);联合主键,与wyb_articles表的bid外键关联,且级联删除。comment评论内容varchar(500)非空4 系统设计对博客系统进行系统分析、数据库设计之后,本章将主要介绍系统各功能模块的设计及其实现。软件所实现的功能强弱是衡量一个软件的最根本的标准。通过对系统的全面分析并结合调研的情况,确定了本系统的功能模块图。本章先从系统总体结构设计介绍,接着分别对公用模块、客户界面、管理对功能模块加以描述。4.1系统总体设计本系统数据库采用Mysql ,We
10、b服务器采用Apache4.2公用模块的编写4.2.1数据库连接文件为了操作数据库方便,把连接数据库、查询、更新、插入、关闭连接等数据库操作都写在一个公用文件中,这样其他页面引入这个页面,就可以调用数据库操作方法,操作数据库了,这样便于提高程序的重用性。4.2.2用户登录和注销把判定用户登录和注销的程序写在首页Default.asp中。当用户在首爷输入用户名和密码请求登录时,先从数据库查询该用户的用户名和密码是否正确,如果正确则把该用户的用户名和密码,写入用户Cookie,这样其他页面如果需要用户登录才能访问,只需要从Cookie取用户的用户名,如果能取得,则说明用户已经登录,否则用户未登录。
11、当然用Cookie记录用户登录是有风险的,最好用Session记录。注销只需要设置记录用户的Cookie过期就可以了。4.3客户界面的设计与实现界面模块化,可以提高代码的重用性,能为编程提供很大便利,节省开发时间,提高开发效率4.3.1 界面头设计 (1)设计思想为了体现简洁明快的风格,界面头不打算用很复杂的动画图片,顶部直接安排一个导航栏,让用户可以在首页、个人资料、博文、评论、博文管理、评论管理等模块之间方便的切换。4.3.2首页设计与实现首页是一个网站的窗口,长久留住一个用户靠网站强大的功能和丰富的内容,要想吸引用户,首页的设计精美和人性化也是重要的因素。首先是给浏览者留下的第一印象。所
12、以设计要精美;首页是网站的导航图,所以设计要人性化,重点层次突出。设计思想首页直接引入前面设计的公用模块的界面头和尾。首页左边给出浏览者一个清晰的导航。在右边用户能登录/注册、最新更新的博文列表、评论,在左边显示最新更新的博文信息。 博客最核心的是文章,所以正文右边给出一块很大空间用以展示最新书写的几篇文章的标题和内容概要,用户单击博文标签能进入查看该文章的详细内容。4.3.4用户注册模块设计页面Register.aspx主要完成引导用户进行注册,首先会提供注册表让用户输入用户名和密码等,让用户输入注册信息,输入完成后,当用户单击注册按钮的时候,要对用户输入的注册信息简单认证,看用户信息是否验
13、证,如果验证进行数据库验证,查看用户之前是否已经注册过,如果没有注册则插入一条新记录到数据库,完成注册。4.3.5“文章评论”功能模块设计在展现文章页面的末尾,提供接口供浏览者针对该文章发表评论,技术实现非常简单,就是提供发表评论标题和评论内容的文本框,让读者输入评论标题和内容,当读者单击提交按钮的时候,把评论标题和内容保存到数据库。4.4管理界面设计4.4.1“添加文章”功能模块通过“添加文章”功能模块用户能设置文章标题,选择文章所属分类,填写文章概要和文章内容。“文章管理”功能模块“文章管理”功能模块主要显示当前用户所写的所有文章,并能修改或者删除现有文章“评论管理”功能模块主要php操作
14、代码:<?php require"conn.db.php" $action=$_GET'action' switch($action) case "logout" function clearCookies() setcookie('username',''); /删除Cookie中的标识符为username的变量clearCookies(); echo "<meta http-equiv='refresh'content=1;URL=/t
15、pl/default/blog_index.htm >" ; break; case "add": $name=$_POST'name' $categoryId=$_POST'categoryId' $content=$_POST'content' $time=date("Y-m-dH:i:s"); $sql="insert into article (motif,classify,content,time) values('$name','$categor
16、yId','$content','$time')" $result= mysql_query($sql); $sql="select id from article where motif='$name' and time='$time'" $result=mysql_query($sql); $row=mysql_fetch_array($result); $id=$row'id' $sql="insert into classify (title,art_id,t
17、ime) values('$categoryId','$id','$time')" $result2= mysql_query($sql); if($result && $result2) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; else echo"fault" ech
18、o "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; break; case "del": $id=$_GET'id' $sql="delete from article where id='$id'" $result= mysql_query($sql); if($result) echo "sucess" echo "<
19、;meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; else echo"fault" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; break; case "cla_del": $id=$_GET'id' $tit
20、le=$_GET'title' $sql="delete from classify where art_id='$id' and title='$title'" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listClassify.htm >" ; el
21、se echo"fault" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listClassify.htm >" ; break; case "com_del": $id=$_GET'id' $time=$_GET'time' $sql="delete from comment where art_id='$id' and time='$tim
22、e'" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listClassify.htm >" ; else echo"fault" echo "<meta http-equiv='refresh'content=1;URL=/
23、tpl/admin/listClassify.htm >" ; break; case "edit": $id=$_GET'id' $name=$_POST'name' $categoryId=$_POST'categoryId' $content=$_POST'content' $time=date("Y-m-dH:i:s"); $sql="update article set motif='$name',classify='$catego
24、ryId',content='$content',time='$time' where id='$id'" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; else echo"fault" echo &qu
25、ot;<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; break; case "comment": $id=$_GET'id' $name=$_COOKIE'username' $content=$_POST'content' $time=date("Y-m-dH:i:s"); $sql="insert into comment (id,time,comment,user) values('$id','$time','$content','$name')" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/default/displayBlog.htm?id=".$id.&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肥皂制造工岗位技巧考核试卷含答案
- 西式糕点师岗位基础培训考核试卷含答案
- 营林试验员岗中节能考核试卷含答案
- 制材工岗中责任制考核试卷含答案
- 水生植物疫病检疫员岗前面试考核试卷含答案
- 家用电器产品维修工岗前持续改进考核试卷含答案
- 木材保护与改性处理工岗前工作质量考核试卷含答案
- 酶制剂制备工工艺控制强化考核试卷含答案
- 南京安全宣讲方案讲解
- 2024年《医疗器械经营监督管理办法》培训试卷及答案
- 全国一级学会、协会目录
- 徐氏调查研究报告
- 龙虎山正一日诵早晚课
- 2022年阜阳市界首市选调中小学教师考试真题
- 2022高级经济师《知识产权实务》预测试卷2
- YY/T 0471.3-2004接触性创面敷料试验方法 第3部分:阻水性
- GB/T 11348.3-2011机械振动在旋转轴上测量评价机器的振动第3部分:耦合的工业机器
- GB 2711-2003非发酵性豆制品及面筋卫生标准
- GA/T 1163-2014人类DNA荧光标记STR分型结果的分析及应用
- 煤矿用防爆电气设备防爆检查标准培训课件
- 地铁是怎样建成的少儿科普版课件
评论
0/150
提交评论