收藏 分销(赏)

PHP课程设计--个人博客管理系统前后台.doc

上传人:仙人****88 文档编号:9445477 上传时间:2025-03-26 格式:DOC 页数:22 大小:5.53MB 下载积分:10 金币
下载 相关 举报
PHP课程设计--个人博客管理系统前后台.doc_第1页
第1页 / 共22页
PHP课程设计--个人博客管理系统前后台.doc_第2页
第2页 / 共22页


点击查看更多>>
资源描述
中北大学 基于开源代码的web应用 实训报告      学生姓名:   学 号: 学 院: 软件学院 专 业: 软件工程  题 目: 个人博客系统 指导教师        2013年1月4日 1. 设计任务概述(包括系统总体框图及功能描述) Blog 全名Web log,中文意思是“网络日志”,后来缩写为Blog。Blog 就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。 本系统利用PHP动态网络开发技术,以MYSQL作为后台数据库,使用软件wamp、,以及配合eclipse和Dreamweaver网页开发工具,实现了个人博文发表和交流的平台——个人博客系统。 本博客和网上的其他博客一样,实现了一般博客所具有的功能,能够进行博文的发布、修改、删除,前台和后台的管理,浏览者可以进行浏览和评论。 1.1系统总体框图 个人博客系统 后台 前台 游客模块 管理员模块 会员模块 相册审核管理 博文审核管理 用户管理 搜 索 相册管理 评论管理 博文管理 搜 索 注 册 登 录 浏览博文 评 论 评论审核管理 要源代码的联系1123475601 1.2功能描述 (一)前台 任何游客都可以进行会员注册,对任何博文可以进行浏览和评论、浏览评论、浏览个人博客系统信息、搜索博文。注册会员成功后,使用自己的账号和密码登陆,登陆成功后可以在自己的博客中发表博文、修改和删除博文,同时可以浏览自己所上传的照片,并进行博文搜索。 (二)后台 后台主要是管理员对用户进行管理,以及对前台页面的博文进行修改及删除,对图片的修改及删除,对评论的修改及删除。其中用户管理包括对管理员、会员、游客的管理: (1)管理员:后台只能是管理员才能进入,其他用户不能进入。管理员在后台进行博文的修改及删除,评论的修改及删除,图片的修改及删除,用户的删除的管理。 (2)会员:会员能浏览个人博客的博文和进行评论,发表、修改和删除博文、浏览和上传照片,搜索博文,查看个人博客系统信息,但是无权进入后台。 (3)游客:游客的权限有浏览和评论博文,查看评论,搜索博文,查看个人博客系统信息,无权进入后台。 2. 功能模块详细设计 2.1 详细设计思想 根据对个人博客系统的特点和应用的分析,可以得到本系统主要有如下功能: (一)前台 (1)游客注册和会员登录 游客注册:游客注册时要求填写用户的一些详细信息,包括用户名,密码,手机号码等信息存储到个人博客系统的数据库中。任何游客都可以注册,成功后便成为本博客系统的正式会员。系统接受这些信息并存储在数据库中。 会员登录:主要用于验证博客系统内用户信息的真实身份,以便对博客系统进行管理和维护。通过注册后的游客用个人注册的用户名,密码登录到博客系统,通过检测用户便被赋予对博客系统进行操作的对应权限。 (2) 首页模块 主要包括首页信息的显示、博文分类、日历。 (3) 博文模块 主要包括部分博文信息的显示、会员博文的修改和删除、博文分类、日历。 (4) 图片模块 主要包括相册图片的显示、会员图片的上传、博文分类、日历。 (5) 搜索模块 主要包括对博文的搜索、博文分类、日历。 (6) 评论模块 主要包括博文的评论。 (7) 分类模块 主要包括对博文的分类。 (8) 日历模块 主要包括日历的显示。 (二)后台 (1)用户管理模块 主要包括对用户的账号、密码及电话号码管理。 (2)博文审核管理模块 主要包括对博文的浏览、修改和删除的管理。 (3)图片审核管理模块 主要包括对照片的浏览、修改和删除的管理。 (4) 评论审核管理模块 主要包括对评论内容的浏览、修改和删除的管理。 2.2 核心代码 (一) Index.php 前台首页界面 <?Php session_start (); if (@$_GET ['cancle'] == 1)unset ( $_SESSION ['username'] );?> <script type="text/javascript" src="ckeditor/ckeditor.js"></script> <title>个人博客</title><meta name="keywords" content="" /> <meta name="description" content="" />if (! isset ( $_SESSION ['username'] ))ho @$_SESSION ['username']; if (! isset ( $_SESSION ['username'] ))echo "个人";?>的博客</a> <a>Have Fun</a></h2> <font color="black">欢迎你~<?Php echo @$_SESS echo "<a href='login.html' style='font:black;'>登陆</a>&nbsp;<a>|</a>&nbsp;<a href='register.html'>注册</a>";else echo "<a href='./index.php?cancle=1' style='font:black;'>注销</a>";?></font>?>><a href="index.php?content=1#menu" title="">主页</a></li><li <?phpif (@$_GET ['content'] == 2)echo "class='active'"; ?>><a href="index.php?content=2#menu" title="">博文</a></li><li <?phpif (@$_GET ['content'] == 3)echo "class='active'"; ?>><a href="index.php?content=3#menu" title="">相册</a></li><li <?phpif (@$_GET ['content'] == 5)echo "class='active'"; ?>><a href="index.php?content=5#menu" title="">搜索</a></li><li<?php if (@$_GET ['content'] == 4)echo "class='active'"; ?>><a href="index.php?content=4#menu" title="">关于</a></li></ul> <?Php if (@$_GET ['content'] == 1 or ! isset ( $_GET ['content'] )) require 'home.php'; elseif (@$_GET ['content'] == 2)require 'blog.php'; elseif (@$_GET ['content'] == 3)require 'photo.php';elseif (@$_GET['content'] == 4) require 'about.php';elseif (@$_GET ['content'] == 5)require 'message.php'; ?> <li><?php"<a href='index.php?content=2&sort=1#content'>个人日记</a>";elseecho "个人日记";?>(<?php echo @$sort[0];?>)</li><li><?php if (! isset ( $_GET ['sort'] ) or $_GET ['sort'] != 2) echo "<a href='index.php?content=2&sort=2#content'>技术原创</a>"; Else echo "技术原创";?>(<?php echo @$sort[1];?>)</li> <li><?phpif (! isset ( $_GET ['sort'] ) or $_GET ['sort'] != 3) echo "<a href='index.php?content=2&sort=3#content'>休闲搞笑</a>"; elseecho "休闲搞笑";?>(<?php echo @$sort[2];?>)</li> <?PHP date_default_timezone_set ( 'PRC' );require "ap_kdr.php"; $ap_kdr = new ap_kdr (); $ap_kdr->calendar ( @$_GET ['month'], @$_GET ['year'] );?> </body></html> (二) Register.php 前台注册界面 <?php require 'conn/conn.php'; $pwd=($_POST['password']==$_POST['password1']);$pattern='/^[1][3-8]\\d{9}$/';$phone=preg_match($pattern, $_POST['phonenum']); if($_POST['username']==""|| $_POST['username']==null || $_POST['password']=="" || $_POST['password']==null) {echo "输入信息不正确 <a href='register.html'>返回</a>";exit;} $result=mysql_query("select * from `user` where username='".$_POST['username']."'");if(mysql_num_rows($result) !='0'){echo "用户名已存在<a href='register.html'>返回</a>";exit;} if( $pwd && $phone){if(mysql_query("insert into `user` (`username`,`password`,`phonenum`) values ('".$_POST['username']."' , '".$_POST['password']."' , '".$_POST['phonenum']."')")){ echo " alert('注册成功,返回登陆页面!'); echo "成功";}else{echo alert('注册失败,请检查注册信息');}}else{ echo "alert('注册失败,请检查注册信息');?> (三)login.php 前台登录界面 <?php session_start();require 'conn/conn.php'; if($_POST['username']==""|| $_POST['username']==null || $_POST['password']=="" || $_POST['password']==null) {echo "没有此用户 <a href='login.html'>返回</a>";exit;} $result=mysql_query("select * from `user` where username='$_POST[username]'");$row=mysql_fetch_row($result); $chkusername=($row[1]==$_POST['username']); $chkpassword=($row[2]==$_POST['password']); if($chkusername && $chkpassword){echo "登陆成功";$_SESSION["username"]=$_POST["username"]; echo $_POST["username"]."1111111";header("Location:index.php");}else{ echo "没有此用户 <a href='login.html'>返回</a>";} (四) photo.php 前台图片管理界面 <?php if (! isset ( $_GET ['upload'] )) {if (isset ( $_SESSION ['username'] )) {echo echo "<div id='screen'>";echo "<div id='box'>"; } elseecho "请先<a href='login.html'>登录</a>!";?> <?Php if (isset ( $_SESSION ['username'] )) {$sql = "select * from `photo` where username='" . $_SESSION ['username'] . "'"; $result = mysql_query ( $sql );$total = mysql_num_rows ( $result ); $num = 7;$page = new Page ( $total, $num ); $sql = "select * from `photo` where username='" . $_SESSION ['username'] . "' $page->limit";$result = mysql_query ( $sql ); $src = "photo/" . $_SESSION ['username'] . "/";$i = 1; while ( ($row = mysql_fetch_row ( $result )) && is_readable ( $isrc = $src . $row[5] . '.jpg' ) && $i <= 7 ) { echo "<img src=$isrc title='$row[2]'alt=\"$row[3]<br>$row[4]\"> "; $i ++;}?> <?Php while ( $i > 0 ) {echo "<a></a>";$i --; }?>echo $page->fpage (); }}else require 'upload.php';?> (五)search.php 前台搜索界面 <?php include "conn/conn.php"; include 'mCutStr.php'; if ($_GET ['search']==1 && $_POST['search'] != null) { if (isset ( $_SESSION ['username'] )) $shuju_result = mysql_query ( "select * from `article` where author='" . $_SESSION ['username'] . "' and title like '%" . $_POST ['search'] . "%'" );else $shuju_result = mysql_query ( "select * from `article` where title like '%" . $_POST ['search'] . "%'" ); $total = mysql_num_rows ( $shuju_result ); echo "为您找到".$total."条记录<br>";$num = 3; $page = new Page ( $total, $num );if (isset ( $_SESSION ['username'] )) $sql = "select * from `article` where author='" . $_SESSION ['username'] . "' and title like '%" . $_POST ['search'] . "%'" . " order by ID desc {$page->limit}";else $sql = "select * from `article` where title like '%" . $_POST ['search'] . "%'" . " order by ID desc {$page->limit}"; $result = mysql_query ( $sql ); while ( $row = mysql_fetch_row ( $result ) ) { ?> <?Php echo $row [5];if (isset ( $_SESSION ['username'] )) echoEdit</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='delcontent.php?content=2&id=$row[0]#content'>Delete</a>"; ?></small> <a href="index.php?content=2&read=1&id=<?php echo $row[0];?>#content" class="more">Read More</a> &nbsp;&nbsp;&nbsp; </p><?phpecho $page->fpage (); <?php }elseif($_GET ['search']==1 && $_POST['search'] == null) (六)index.php 后台首页界面 <title>Skiyo 后台管理工作平台 by Jessica</title> <link rel="stylesheet" type="text/css" href="css/style.css"/> <script type="text/javascript" src="js/js.js"></script> </head><body> <label>用户名: <input type="text" name="username" id="user" /> </label> <label>密 码:<input type="password" name="password" id="pwd" /> (七) Photo.php 后台相册管理界面 </head><body> 管理人员基本信息列表</span></td> <span class="STYLE10">序号<span class="STYLE10">照片预览 <span class="STYLE10">相片标题</span> <span class="STYLE10">上传日期</span> <span class="STYLE10">上传者</span> <span class="STYLE10">编辑<<?php $result = mysql_query ( "select * from `photo` order by id desc" ); $user = mysql_query ("select * from `user`"); $i = 1; while( $uname = mysql_fetch_row($user)){while ( $row = mysql_fetch_row ( $result ) ) {<?php echo "<a href='editphoto.php?id={$row[0]}&uname={$uname[1]}&name={$row[5]}'>修改 (八)editphoto.php 后台图片的修改 <?php include '../conn/conn.php'; if (isset ( $_POST ['sub'] )) { $now=date('Y-m-d'); $sql="UPDATE `photo` SET `title`='".$_POST['title']."',`alt`='".$_POST['alt']."' where id=".$_POST['id']; $result = mysql_query($sql); if($result){echo "更新成功!";}else{ echo "更新失败!";} elseif(!isset ( $_POST ['sub'] )){ $result = mysql_query ( "select * from `photo` where id=" . $_GET ['id'] );$row = mysql_fetch_row ( $result );?> <form action="" method="post"> 标题:<input type="text" name='title' value='<?php echo $row[2];?>'> 描述:<input type="text" name='alt' value='<?php echo $row[3];?>'><br> <input type="submit" name='sub' value='提交'></form><?php }? (九)delete.php 后台图片的删除 <?php if($_GET['sql']=='photo'){ if( is_file( $_GET['src'] ) ){if( unlink($_GET['src']) ) {echo '';}else{echo '文件删除失败,权限不够';}}else {echo '不是有一个有效的文件';}} delete($_GET['sql'], $_GET['id']); function delete($sql, $id){ include '../conn/conn.php'; $result = mysql_query("delete from `".$sql."` where ID=".$id); if($result) echo $ans="删除成功 <a href='".$sql.".php'>返回</a>"; else echo $ans="删除失败<a href='".$sql.".php'>返回</a>"; return $ans; }?> 2.3 程序运行结果(截屏) (1)在网址栏输入http://localhost/newblog进入个人博客系统主页界面: (2) 游客点击“相册”,得到如下登录提示界面: (3) 点击“搜索”,游客可从所有作者发表的所有博文中进行搜索(会员也可在自己的博客中对自己的博文进行搜索,情况与此类似,不再阐述),界面如下: (4)如游客在搜索界面输入“冬至”,得到的搜索结果如下(会员搜索与此类似,不再阐述): (5)点击界面右上角的“登录”,可进入登录界面: (6)游客无账号,则点击“注册”进入注册界面,填写好相关信息并确认无误后注册成功: (7)会员在登录界面输入用户名和密码可进入自己的博客主页,如输入用户名为novameteor,密码为123456,点击“登录”,进入novameteor的个人博客主页,界面如下: (8)会员点击“相册”,可管理自己的相册,界面如下: (9)在相册展示栏里移动鼠标,相册展示栏会把箭头所指的那一张图片放大,显示出动态效果: (10)会员点击“相册”界面的“上传图片”,可以上传图片,界面如下: (11)相册上传图片时,若出现未输入图片名称、图片格式不正确等错误情况,则出现以下提示页面: (12)在网址栏输入http://localhost/newblog/admin进入个人博客系统后台登录界面: (13)管理员在后台登录界面输入自己的用户名和密码即可进入后台管理界面,如输入用户名为novameteor,密码为123456的账户,点击“登录”,则进入后台管理界面。点击“图片管理”,管理员可在此处查看所有图片的相关信息,并可进行修改删除操作: (14)管理员可在后台“图片管理”中修改图片,如点击某个图片的修改,出现以下界面: (15)管理员可在后台“图片管理”中删除图片,如点击某个图片的删除,出现以下对话框: 3. 课程设计心得、存在问题及解决方法 此次实训,我们的题目为个人博客系统。我们每三人一组,在商讨完需要实现的主要功能模块后,我们合理分工,大家共同努力。我主要负责前台照片的上传、前台首页的日历、后台照片的管理等。 这次实训期间,我学到了不少关于制作网页方面的知识,而且能够设计出各种风格的网页,就拿这次实训来说,虽然界面不是很美观,而且还有许多的地方待改进,但是许多基本的知识已经熟练地掌握,像设计界面板块,字体样式,颜色,分页,后台管理的实现等等,但是要想真正的设计一个出类拔萃的系统,我还需要多努力,学习更多的相关知识。 实训中,我们遇到了很多问题,一些小的问题在自己检查后便可轻而易举的解决,比如sql语句的书写错误等,一些大问题则困扰我很长时间,有的甚至需要请教同学及老师,总之,通过自己以及组员的共同努力,我们一一解决了编程过程中遇到的一切问题。通过实训,我才真正领略到“艰苦奋斗”这一词的真正含义。我想说,测试确实有些辛苦,但苦中也有乐,同时也测试了我们整个团队的合作能力。一起工作可以让我们有说有笑,相互帮助,配合默契,我感觉和同学们之间的距离更加近了。团队需要个人,个人也离不开团队,必须发扬团结协作的精神,某个人的离群都可能导致整个工作的失败。实训中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个系统的设计的失败。团结协作也是是我们实训成功的一项非常重要的保证。而这次实训也正好锻炼我们这一点,这也是非常宝贵的。 经过一个多月的实训,过程曲折可谓一语难尽。在合作期间,我们各尽其职,当遇到问题或不解时会立即讨论,仍有不解的我们会请教同学、老师,争取得到一个最佳的解决办法。这次课程实训我收获了成绩,收获了友谊,收获了快乐。总之,受益匪浅。 21
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服