PHP MySql制作个人博客系统-完整教程
(Apache PHP phpMyAdmin MySQL 5.0实现)如果有人问“什么是web2.0?”,恐怕没几个人能说得清楚,但是要问什么是博客,哪怕是从不上网的人也是耳熟能详的了。博客正是web
(Apache PHP phpMyAdmin MySQL 5.0实现)
如果有人问“什么是web2.0?”,恐怕没几个人能说得清楚,但是要问什么是博客,哪怕是从不上网的人也是耳熟能详的了。博客正是web2.0概念中重要的组成部分之一(大家熟知的还包括IM 即时通和RSS 阅读器)。
Blog(博客),全名Weblog,后来缩写为Blog。Blogger就是写Blog 的人,习惯于在网上写出日记、发布个人照片、展示个性自我的用户群体。对于Blog/Blogger的中文名称,有翻译成“博客”,也有翻译为“网志”,但大多数人都已经认可了“博客”。
通过阅读本章,读者可以学到:
博客管理系统的开发流程
进一步掌握如何做项目需求分析与系统设计
实现一个简单的公告栏管理模块
掌握不同的图片上传技术
掌握一种采用JavaScript CSS
技术来实现的半透明动态下拉菜单
,PHP 项目开发全程实录
8.1开发背景
博客管理系统给人们提供抒发个人情感、人与人之间进行良好沟通的平台,博客拥有真实的内容,可以通过博客记录下工作、学习、生活和娱乐的点滴,以及发表文章和评论,从而在网上建立一个完全属于自己的个人天地,成为当今网络最为个性化和平民化的个人展示空间。对于网民,只要拥有博客,就可以超越现实生活,拥有不同以往的全新网上生活;对于博客服务商,则必须从功能提供转型到全方位社会服务的提供,建立虚拟社会,并负责维护运行,保证博客日常生活;对于社会而言,有利于构建和谐的互联网空间,维护和谐的社会环境。从这个角度来说,构建新生活方式,将是互联网发展的一个里程碑。
8.2需求分析
信息时代的今天,博客已经成为一种新的生活方式。在网络中构建一个赋有个性化的个人博客,提供了一种可信任的和实时连通的网络环境,通过网络开放性和交互性的特点,让用户在任何时间、任何地点,通过网络方便地“生活”,不仅是信息传递与获取,还可以进行群体交流和资源共享,展示自我,为个人发展带来新机遇。
通过对多个博客网的调查分析,客户要求本博客管理系统具有以下功能:
☑
☑
☑
☑
☑
☑
☑
☑
☑要求系统采用B/S架构,实现人机交互。要求系统界面个性化,色彩搭配和谐,很强的视觉冲击力,操作简便。要求突出主题,显示最新文章和公告。要求游客可以浏览文章、浏览图片、发表评论。要求具有强大的搜索查询功能,实现精确查询和模糊查询。完善的文章管理功能,包括文章的发表、删除,及对文章的评论与回复。支持图片上传功能,可以上传各种类型的图片。支持好友功能。系统运行稳定,安全可靠。
8.3
8.3.1系统设计系统目标
该系统主要实现如下目标:
☑·374·系统采用
B/S架构,实现人机交互。
,第8章博客管理系统(Apache PHP phpMyAdmin MySQL 5.0实现)
☑☑☑☑☑☑☑☑☑系统界面设计以浅色为主,美观友好,操作简便。突出重点内容,显示最新文章。
非登录用户可以浏览文章、浏览图片、发表评论。全面的搜索查询功能,包括精确查询和模糊查询。
完善的文章管理功能,包括文章的发表、删除,及对文章的评论与回复。支持图片上传功能。支持好友功能。支持公告栏功能。
系统运行稳定,安全可靠。
8.3.2系统功能结构
博客管理系统的功能结构如图8.1所示。
图8.1博客管理系统功能结构图
8.3.3系统功能预览
为了让读者对本系统有个初步的了解和认识,下面给出本系统的几个页面运行效果图,如果想查看完整的效果图,请参见光盘源程序。
博客管理系统的首页如图8.2所示,该页面包含了系统大部分的功能链接,包括用户注册、用户登录、文章浏览等。用户注册页面如图8.3所示,该页面显示了用户注册时需要填写的资料、注意事项等。
浏览文章页面如图8.4所示,该页面用于显示文章及相关的评论,也可以发表评论。发表文章页面如图8.5所示,该页面用于登录用户发表文章,包括文章标题、文字编辑区和文章内容。
·375·
,PHP 项目开发全程实录
图8.2博客首页(光盘TMonlineindex.php)图8.3
用户注册页面(光盘TMonlineRegister.php
)图8.4浏览文章页面(光盘TMonlinearticle.php)图8.5发表文章页面(光盘TMonlinefile.php)
图片上传页面用于上传图片,如图8.6所示,通过该页面用户可以将图片或照片添加到博客中。添
加好友页面如图8.7
所示,该页面用于输入用户好友的详细信息,包括姓名、性别、生日等。
图8.6图片上传页面(光盘TMonline�d_pic.php)图8.7添加好友页面(光盘TMonlinefriendd.php)
8.3.4系统流程图博客管理系统的流程图如图
8.8所示。
·376
·
,第8章博客管理系统(Apache PHP phpMyAdmin MySQL 5.0实现)
图8.8
系统流程图
8.3.5开发环境
在开发博客管理系统平台时,该项目使用的软件开发环境如下:1.服务器端☑☑☑☑☑☑☑☑☑☑
操作系统:Windows Server 2003服务器:Apache 2.0。PHP 软件:PHP 5.0。数据库:MySQL 5.0。
MySQL 图形化管理软件:PhpMyAdmin-2.5.5。开发工具:Dreamweaver 8。浏览器:IE 6.0。
分辨率:最佳效果1024×768像素。浏览器:推荐使用IE 6.0及以上版本。分辨率:最佳效果1024×768像素。
2.客户端
8.3.6文件夹组织结构
博客系统的目录比较少,结构比较简单,主要有数据库链接文件目录、css 样式目录、js 脚本目录及背景图片目录。文件夹组织结构如图8.9所示。
·377·
PHP 项目开发全程实录
图8.9博客管理系统文件夹组织结构
8.4
8.4.1数据库设计数据库分析
本系统属于中小型个人网站,毫无争议的,本系统采用的依然是PHP MySQL这对儿黄金组合,无论是从成本、性能、安全上考虑,还是从易操作性上考虑,MySQL 都是最佳选择。
8.4.2数据库概念设计
通过需求分析和功能上的设计,本系统规划出用户信息实体、上传图片实体、朋友圈实体、文章实体和留言实体。下面给出主要的实体及E-R 图。
用户信息实体包括注册用户的详细个人信息,如果想在本系统中进行发表文章、上传图片等操作,则必须要先进行注。用户信息实体E-R 图如图8.10所示。
上传图片实体主要包括上传图片的名称、上传图片用户和上传图片时间等,实体E-R 图如图8.11所示。
·378·
,第8章博客管理系统(Apache PHP phpMyAdmin MySQL 5.0实现)
图8.11上传图片实体E-R 图
8.4.3数据库物理结构设计
根据实体E-R 图和本系统的实际情况,需要创建6张数据表,如图8.12所示。
图8.12数据表列表
下面来具体看一下这6张数据表的结构设计。
1.tb_user(用户列表)
用户列表主要存储用户的个人信息。tb_user表的结构如图8.13所示。
图8.13用户列表结构
·379·
PHP 项目开发全程实录
2.tb_article(文章列表)
文章列表存储的是用户发表过的文章信息。tb_article
表的结构如图8.14所示。
图8.14文章列表结构
3.tb_filecomment(评论列表)
评论列表存储的是用户对文章的评论,包括注册用户和游客都可以发表评论。tb_filecomment表的
结构如图8.15所示。
图8.15评论列表结构
4.tb_tpsc(图片列表)
图片列表存储的是上传图片的信息,如图片名称、上传用户、上传时间等。tb_tpsc表的结构如
图8.16所示。图
8.16图片列表结构
·380·
,第8章博客管理系统(Apache PHP phpMyAdmin MySQL 5.0实现)
5.
tb_friend(好友列表)
好友列表主要记录了姓名、性别、生日等好友的个人信息。tb_friend表的结构如图8.17所示。
图8.17好友列表结构
6.
tb_public(公告列表)
公告列表主要记录了网站情况、博客系统的版本情况或是网站活动等等。公告列表的结构如图8.18所示。
图8.18公告列表结构
8.5
8.5.1
首页设计首页概述
本系统首页页面设计简洁,主要包括以下3部分内容:
首部导航栏:包括首页链接、注册和登录模块。
·381·
,PHP 项目开发全程实录
左侧显示区:包括最新文章、最新图片和系统时间模块。游客主要通过该区域浏览文章、浏览图片及发表评论。
☑主显示区:为系统公告栏,显示系统及网站的最新咨询。
下面看一下本案例中提供的首页,该首页在本书光盘中的路径为TMtmlogindex.php,
如图8.19所示。☑
图8.19博客管理系统首页
8.5.2首页技术分析
在首页主显示区,是一个公告栏模块。公告栏主要用于公布系统版本的更新或升级情况、网站的最新活动安排等,也可以链接一些用户的精彩文章。本系统的公告栏模块是通过