PHP 毕业设计 个人博客系统(5)

2019-01-27 12:40

第四章 系统详细设计

$reghomepage=$_POST['txt_reghomepage']; $regintroduce=$_POST['txt_regintroduce'];

//个人主页 //介绍

4.12主页

主页中包括博客最新日志区、最新的留言,搜索功能,公告的显示,把这几个界面区合理的组合是布局和美工的重要之处。

图4-1 主页

首页比较简洁,主要包括以下几个部分 上部:包含导航栏 左部:显示系统的公告

右部:显示最新的日志和最新的留言

在主页的设计方面首先要准备好素材,一个好的页面设计好素材和布局是不可缺一的,系统所需要的素材我花了挺多时间去找的,最终还是比较满意,主要是自己去使用CSS布局的时候比较麻烦,很多东西移多了一点或少了一点,结果出来都会很不同,要自己去慢慢调试,不断的反复使用才能调出比较好看的页面

4.13 浏览日记

点击日记页面进入发表博客的界面warticle.php,在这里输入标题和正文后信息被发送到check_diary.php页面,在这里首先检查标题或内容是否为空,如有问题则报错进行提示;检查无误之后使用SQL ADD语句将文章信息插入到tb_article表中。

因为文章的数量可能较多,如果在一个页面全部列出可能会影响外观,因此每个页面的链接数要做一定限制,如10到15个,之后使用循环语句将content中的文章信息动态的显示在页面上。

15

华南理工大学广州学院本科毕业设计(论文)说明书

图4-2 博客文章列表

关键代码:

………………………

$page=$_GET['page']; //取得当前的页面编号 $eachpage=15; //每个页面显示15个链接 if(!$page) //判断是否为第一页 { $page=1; }

if(!$page||$page==1) //确定当前为第一页 { $start=0; //从数据库表中第一篇文章开始 } else {

$start=(($page-1)*$eachpage); //计算当前页面第一片文章在数据库表中的编号 } $sql=\在SQL语句中加入范围限制从$start到$eachpage结束 $result=mysql_query($sql); //执行查询 ………………….

while($rows=mysql_fetch_assoc($result))//while循环输出 { ……………echo $rows[title];…………….. //显示链接 } …………………..

之后还要加上页码栏以便用户转跳页面 判断页码的关键代码:

16

第四章 系统详细设计

if($page>1)//判断当前是否第一页 { $prepage=$page-1; //获取前一页的页码 }

$currentend=$start+$eachpage; //当前页码中最大的文章编

号 $sql=\查询表中的最大文章编

号 $result0=mysql_query($sql); $rows0=mysql_fetch_row($result0); $total=$rows0[0]; //获得最大的文章编号

if(((int)($total/$eachpage))<($total/$eachpage)) //计算当前最大的页码 {

$totalpage=((int)($total/$eachpage))+1; //页码数的计算方法为总文章数除以每页的文章数,结果为浮点数则取整加一 } else { $totalpage=(int)($total/$eachpage); }

if($total>$currentend) //当前页码中最大的文章编号和表中的最大文章编号相比,确定当前的页面是不是最后一页 {

if(!$page){ //是否为第一页 $nextpage=2; } else{ //取得下一页的页码 $nextpage=$page+1; } } ………………….. 输出页码。

用户点击article.php页面上的标题链接后进入文章正文浏览的界面show.php,普通用户可以查看文章的正文并发表评论,而管理员还可以修改文章的内容,用户权限的识别通过变量SESSION来判断。用户发表留言通过show.php页面下的留言面板进行留言,其代码与之前的博客文章发表较为相似,在这里不详细说明。

4.14 添加文章

当用户登录后,通过浏览日记页面中的写日记按钮,可以进行添加文章,想要使用文章管理模块,前提是用户必须登录,匿名用户是无法访问这些功能的;想要删除文章

和评论,前提是当前用户要么是管理员权限,要么是文章拥有者,否则不会显示删除功能的。这两方面的控制都需要session 的配合,本节就来讲一下session 的应用及常见的问题处理。session 的中文译名为“会话”,是指用户从进入网站开始,直到关闭网站这段时间内,所有网页共同使用的公共变量的存贮机制。session 比cookie 更有优势:session 是存储在服务器端的,不易被伪造;session 的存储没有长度限制;session 的控制更容易等。

在session的使用过程中,尽可能把session放在第一行中,因为在session开始之前,如果有HTML代码输出的话可能会有问题,就算是一个小空格放在第一行也在不被允许的,所以尽可能把session放在第一行,且在使用session之前要先调用session_start()函数。

17

华南理工大学广州学院本科毕业设计(论文)说明书

图4-3 添加文章页面

当用户填写完博客主题和文章内容后,单击“提交”按钮,系统将跳转到处理页check_diary进行处理。在处理页中,将传过来的文章标题、文章作者和文章内容等参数组成insert 语句,并最终保存到数据表中。如果添加信息成功,系统返回到本页,可继续执行添加操作;如果添加失败,则返回

到上一步。程序的关键代码如下:

header(\session_start();

//开启session支持

//包含数据库连接文件

//判断传值页面 //取得文章题目 //取得文章内容 //文章发表时间 //执行SQL语句

include \if($_POST['btn_tj']!=\$title=$_POST['txt_title']; $content=$_POST['file'];

$author = $_SESSION['username'];

$now=date(\ ('$title','$content','$now','$author')\

$result=mysql_query($sql); if($result){

$sql=\

echo \恭喜您,你的日志发表成

功!!!');window.location='article.php';\

18

第四章 系统详细设计

} else{ } } ?>

echo \对不起,添加操作失败!!!');window.history.back(-1);\

4.15 删除文章

对文章的删除处理,是后台管理的重要功能,当要对文章进行删除时,将跳转到处理页(del_file.php 和del_comment.php),完成删除操作。在删除文章的处理页中,删除文章的同时,也删除了该篇文章的相关的评论。处理页首先在文章列表(tb_article)中删除id 等于$file_id 的记录,如果没有可删除记录,则提示失败,并返回上一步;

如果删除成功,则转到评论列表(tb_filecomment)中,删除所有该篇文章的评论。删除文章页

删除处理的关键代码如下:

session_start(); //开启session支持

include \包含权限检查文件 include \包含数据库链接文件

$sql=\删除文章的delete语句 $result=mysql_query($sql,$link); //执行删除操作 if($result){

$sql1 = \删除相对应的文章评论 $rst1 = mysql_query($sql1,$link); //执行删除评论的操作 if($rst1)

echo \博客文章已被删除!');location='myfiles.php]';\else

echo \删除失败!');history.go(-1);\} else{

echo \博客文章删除操作失败!');history.go(-1);\} ?>

4.16 聊天室

聊天室主要是为了给用户提供一个在线聊天的平台,用户可以在聊天室中进多人的聊天。

在聊天室主显示区中轮动效果是通过标签来现的。标签是HTML 自带的、也是初学者最常用的公告栏实现方式。使用标签,可以实现文字或图片的滚动效果,增加了实用性的同时,也增加了观赏性。

19


PHP 毕业设计 个人博客系统(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

Copyright © 2019-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18

× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: