PHP课程设计报告个人博客管理系统前后台.doc
《PHP课程设计报告个人博客管理系统前后台.doc》由会员分享,可在线阅读,更多相关《PHP课程设计报告个人博客管理系统前后台.doc(26页珍藏版)》请在咨信网上搜索。
. . 中北大学 基于开源代码的web应用 实训报告 学生XX: 学 号: 学院: 软件学院 专业: 软件工程 题目: 个人博客系统 指导教师 2021年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> <a>|</a> <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> | <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> </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〕在网址栏输入localhost/newblog进入个人博客系统主页界面: (2) 游客点击“相册〞,得到如下登录提示界面: (3) 点击“搜索〞,游客可从所有作者发表的所有博文中进展搜索〔会员也可在自己的博客中对自己的博文进展搜索,情况与此类似,不再阐述〕,界面如下: 〔4〕如游客在搜索界面输入“冬至〞,得到的搜索结果如下〔会员搜索与此类似,不再阐述〕: 〔5〕点击界面右上角的“登录〞,可进入登录界面: 〔6〕游客无账号,那么点击“注册〞进入注册界面,填写好相关信息并确认无误后注册成功: 〔7〕会员在登录界面输入用户名和密码可进入自己的博客主页,如输入用户名为novameteor,密码为123456,点击“登录〞,进入novameteor的个人博客主页,界面如下: 〔8〕会员点击“相册〞,可管理自己的相册,界面如下: 〔9〕在相册展示栏里移动鼠标,相册展示栏会把箭头所指的那一图片放大,显示出动态效果: 〔10〕会员点击“相册〞界面的“上传图片〞,可以上传图片,界面如下: 〔11〕相册上传图片时,假设出现未输入图片名称、图片格式不正确等错误情况,那么出现以下提示页面: 〔12〕在网址栏输入localhost/newblog/admin进入个人博客系统后台登录界面: 〔13〕管理员在后台登录界面输入自己的用户名和密码即可进入后台管理界面,如输入用户名为novameteor,密码为123456的账户,点击“登录〞,那么进入后台管理界面。点击“图片管理〞,管理员可在此处查看所有图片的相关信息,并可进展修改删除操作: 〔14〕管理员可在后台“图片管理〞中修改图片,如点击某个图片的修改,出现以下界面: 〔15〕管理员可在后台“图片管理〞中删除图片,如点击某个图片的删除,出现以下对话框: 3. 课程设计心得、存在问题及解决方法 此次实训,我们的题目为个人博客系统。我们每三人一组,在商讨完需要实现的主要功能模块后,我们合理分工,大家共同努力。我主要负责前台照片的上传、前台首页的日历、后台照片的管理等。 这次实训期间,我学到了不少关于制作网页方面的知识,而且能够设计出各种风格的网页,就拿这次实训来说,虽然界面不是很美观,而且还有许多的地方待改进,但是许多根本的知识已经熟练地掌握,像设计界面板块,字体样式,颜色,分页,后台管理的实现等等,但是要想真正的设计一个出类拔萃的系统,我还需要多努力,学习更多的相关知识。 实训中,我们遇到了很多问题,一些小的问题在自己检查后便可轻而易举的解决,比方sql语句的书写错误等,一些大问题那么困扰我很长时间,有的甚至需要请教同学及教师,总之,通过自己以及组员的共同努力,我们一一解决了编程过程中遇到的一切问题。通过实训,我才真正领略到“艰辛奋斗〞这一词的真正含义。我想说,测试确实有些辛苦,但苦中也有乐,同时也测试了我们整个团队的合作能力。一起工作可以让我们有说有笑,相互帮助,配合默契,我感觉和同学们之间的距离更加近了。团队需要个人,个人也离不开团队,必须发扬团结协作的精神,某个人的离群都可能导致整个工作的失败。实训中只有一个人知道原理是远远不够的,必须让每个人都知道,否那么一个人的错误,就有可能导致整个系统的设计的失败。团结协作也是是我们实训成功的一项非常重要的保证。而这次实训也正好锻炼我们这一点,这也是非常珍贵的。经过一个多月的实训,过程曲折可谓一语难尽。在合作期间,我们各尽其职,当遇到问题或不解时会立即讨论,仍有不解的我们会请教同学、教师,争取得到一个最正确的解决方法。这次课程实训我收获了成绩,收获了友谊,收获了快乐。总之,受益匪浅。 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。 . .word.zl.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 课程设计 报告 个人 博客 管理 系统 前后
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文