新闻管理系统试验报告.docx
《新闻管理系统试验报告.docx》由会员分享,可在线阅读,更多相关《新闻管理系统试验报告.docx(36页珍藏版)》请在冰点文库上搜索。
新闻管理系统试验报告
校园新闻管理系统的设计与实现实验报告
班级:
10网工三班学生姓名:
谢昊天学号:
**********
项目实训目的:
本课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,同时使学生掌握基于PHP、Mysql、HTML以及JavaScript等B/S模式的应用程序开发技能,为学生将来的就业提供了很好的时间锻炼的机会。
项目实训内容:
该系统的目的是设计一个B/S(浏览器/服务器)交互式的校园新闻管理系统网站。
要求网站不要脱离数据库而独立存在,完成前台Web设计和后台数据库的设计,要体现出交互性,其中系统前台用户可以完成的功能是:
浏览新闻;查看新闻评论;对新闻发表评论;后台管理员可以完成的功能是管理员管理;新闻类别管理;新闻管理;评论管理等。
需求分析描述:
功能需求:
本系统的目的是实现新闻发布系统的基本功能。
本新闻发布系统提供了不同类型新闻(如校园新闻、体育新闻、娱乐新闻、国内新闻和国际新闻等)
满足不同用户需求;系统将用户分为:
普通用户,系统管理员和新闻管理员。
普通用户能在本系统中进行新闻浏览,阅读,新闻搜索。
每条新闻的标题被做成一个链接,用户点击它们就能跳转页面进行新闻阅读;新闻阅读页面,每条新闻的详细信息将被取出,包括内容、标题等;用户能根据自己的需要搜索新闻,如可以通过新闻标题或新闻内容对新闻进行搜索这样可以快速地找到符合条件的新闻,并输出搜索结果;用户能对新闻进行被评论(允许匿名评论)。
系统管理员可以进行新闻分类管理、添加新闻、修改新闻、新闻审核和删除新闻,同时系统管理员能完成用户管理如包括系统用户管理、添加用户和更改账号。
新闻管理员拥有添加新闻和更改账号的权限。
根据用户不同,给予不同权限,这样加强系统的管理,同时加强系统的安全性。
性能需求:
根据新闻系统的需求进行开发设计,主要实现如下目标:
1.界面设计友好、美观、数据要准确、安全、可靠。
2.强大查询功能,方便用户浏览网站的所有信息。
3.设计会员登陆功能,保证新闻留言的安全性。
4.实现对信息、比赛项目等信息的添加、修改、删除,便于更新网站内容。
5.系统最大限度地实现易维护性和易操作性。
操作的简易实用性本系统是新闻发布系统针对的用户大多数是学生,教师等等。
因此操作的简易实用性就体现的尤其重要。
在此系统的开发中就很好的体现了这一点,系统的界面美观,典雅,充满了人性化;用户操作起来也容易上手。
对于一个新闻发布系统而言新闻信息是很多的,而且使用人数较多,所以对系统的安全性有比较高的要求:
对于数据库,
要设置不同用户的权限,数据的修改必须由合法用户操作。
功能需求:
本系统给用户提供了一个合理管理WEB新闻的平台。
也提供了快速浏览新闻的平台。
系统管理员的主要功能要求:
1.用户管理模块,包括用户删除,修改,添加。
2.新闻栏目管理模块,包括栏目删除,修改,添加。
3.新闻录入模块。
4.新闻管理模块,包括新闻删除,新闻修改。
新闻浏览的主要功能要求:
1.新闻列表模块,包括按时间显示列表,按类别显示列表。
2.新闻浏览模块。
3.新闻搜索和查找模块,包括按作者查询、按标题查询等。
用户界面需求:
网站界面是用户直接访问的页面,所以必须要让用户一访问就能看出来这个网站的主题思想是什么,一下就能体现出这个网站的中心内容。
并且首页的模块之间要联系紧密,更好的让用户理解明白。
在这个页面上我们要做到所有查看消息的功能都能实现,或者说有能实现查询信息功能的连接。
新闻发布系统前台功能结构图
新闻发布系统后台功能结构图
流程图:
新闻发布系统顶层数据流程图
新闻发布系统中层数据流程图
新闻信息管理底层数据流程图
系统结构设计:
本系统给用户提供了一个合理管理WEB新闻的平台。
也提供了快速浏览新闻的平台。
系统管理员的主要功能要求:
1、用户管理模块,包括用户删除,修改,添加。
2、新闻栏目管理模块,包括栏目删除,修改,添加。
3、新闻录入模块。
4、新闻管理模块,包括新闻删除,新闻修改。
新闻浏览的主要功能要求:
1、新闻列表模块,包括按时间显示列表,按类别显示列表。
2、新闻浏览模块。
3、新闻搜索和查找模块,包括按作者查询、按标题查询等。
新闻发布系统前台功能结构:
1、前台登录;
2、新闻列表分页显示;
3、新闻信息模糊查询;
4、新闻详细信息显示;
5、发布新闻评论。
新闻发布系统后台功能结构:
1、新闻类别管理
类别添加
类别编辑
类别删除
2、后台用户注销
3、新闻信息管理
新闻添加
新闻编辑
新闻删除
4、评论管理
评论审核
评论删除
实验结果:
1、实现字符串翻转功能页面test1.php运行结果如下所示,此页面实现了英文和中文的字符翻转功能。
2、实现中文字符串截取功能页面test2.php运行结果如下所示,功能已经实现。
3、实现中文字符比较功能页面test3.php运行结果如下所示,功能已经实现。
4、实现HTML字符串过滤功能页面test4.php运行结果如下所示,各个字符出来函数处理的结果不相同,各个各的用处。
实验总结:
经过两周的课程设计,是我综合运用了PHP表达式、PHP函数编写、PHP数组、PHP数据采集、PHP会话控制等这学期所学习的知识,不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
在设计过程中,课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。
在这次设计过程中,体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
通过本学期对PHP网络编程的学习、使我对PHP编程有了更深层次的理解和运用。
在本次课程设计中中,回顾书本上的理论知识,巩固了我的知识。
也检验了这学期的学习成果。
系统实现过程:
新闻发布系统实施
设计界面后,在将系统移交给用户的一系列活动叫做系统实施。
新闻发布系统涉及新闻浏览,评价浏览,新闻发布等功能.
1.文件组织结构:
在“c:
\wamp\www”目录下创建”111”目录,在“111“目录下创建,如图所示:
2.数据库的实施
在“c:
\wamp\www\n111”目录下创建news.sql脚本文件,news.sql脚本文件首先设置存储引擎为InnoDB,然后设置字符集为gbk,接着创建news数据库,并在数据库中创建category表news表review表user表。
SQL语句如下:
settable_type=InnoDB;
showvariableslike'table_type';
setcharacter_set_client=gbk;
setcharacter_set_connection=gbk;
setcharacter_set_database=gbk;
setcharacter_set_results=gbk;
setcharacter_set_server=gbk;
setcollation_connection=gbk_chinese_ci;
setcollation_database=gbk_chinese_ci;
setcollation_server=gbk_chinese_ci;
showvariableslike'character%';
showvariableslike'collation%';
createdatabasenews;
usenews;
createtablecategory(
category_idintauto_incrementprimarykey,
namechar(20)notnull
)
createtableusers(
user_idintauto_incrementprimarykey,
namechar(20)notnull,
passwordchar(32)
)
createtablenews(
news_idintauto_incrementprimarykey,
user_idint,
category_idint,
titlechar(100)notnull,
publish_timedatetime,
contenttext,
clickedint,
attachmentchar(100),
constraintFK_news_userforeignkey(user_id)referencesusers(user_id),
constraintFK_news_categoryforeignkey(category_id)referencescategory(category_id)
)
createtablereview(
review_idintauto_incrementprimarykey,
news_idint,
contenttext,
publish_timedatetime,
statechar(10),
ipchar(15),
constraintFK_review_newsforeignkey(news_id)referencesnews(news_id)
)
启动NavicatLiteforMySQL软件
本地连接数据库:
点击连接—点击确定
在右边空白处右击鼠标,文件:
数据库news文件的地址---点击开始—刷新
完成数据库的连接,在各个表中输入相应的信息,保存SQL语句。
7.1代码设计
新闻管理和评价管理功能的实施
新闻管理(新闻发布,新闻浏览,修改新闻等)和评价管理(添加评价,评价浏览,删除评价,审查)的核心。
(1)编制MYSQL服务器连接函数和上传文件上传函数。
在“c:
\wamp\www\news\functions”目录下创建database.php文件程序用于实现MYSQL服务器连接的开启和关闭。
database.php代码如下:
php
$database_connection=null;
functionget_connection(){
$hostname="localhost";
$database="news";
$username="root";
$password="";
global$database_connection;
$database_connection=@mysql_connect($hostname,$username,$password)ordie(mysql_error());
mysql_query("setnames'UTF8'");
@mysql_select_db($database,$database_connection)ordie(mysql_error());
}
functionclose_connection(){
global$database_connection;
if($database_connection){
mysql_close($database_connection)ordie(mysql_error());
}
}
>
(2)向数据库中添加测试数据库的程序news_init.php。
在“c:
\wamp\www\news”目录下创建news_init.php文件程序负责向向用户表user中添加一个管理员用户,向新闻类别表中添加
news_init.php代码如下:
php
include_once("functions/database.php");
get_connection();
mysql_query("insertintocategoryvalues(null,'娱乐')");
mysql_query("insertintocategoryvalues(null,'财经')");
$password=md5(md5("admin"));
mysql_query("insertintousersvalues(null,'admin','$password')");
close_connection();
echo"成功添加初始化数据";
>
打开浏览器,输入http:
//localhost/111/init.php进行数据库初始化。
(3)创建新闻添加news_add.php
在“c:
\wamp\www\news”目录下创建news_add.php
文件,该文件中包括添加form表单为浏览器用户提供输入数据界面。
news_add.php代码如下:
php
include_once("functions/is_login.php");
session_start();
if(!
is_login()){
echo"请您登录系统后,再访问此页面!
";
return;
}
>
标题:
内容:
类别:
php
include_once("functions/database.php");
get_connection();
$result_set=mysql_query("select*fromcategory");
close_connection();
while($row=mysql_fetch_array($result_set)){
>
phpecho$row['category_id'];?
>">
phpecho$row['name'];?
>
php
}
>
附件:
(4)创建文件管理页面file_system.php
在C:
\wamp\www\news\functions目录下创建file_system.php文件,file_system.php文件中提供了实现文件上传功能uploads()函数和下载功能download()函数。
file_system.php代码如下:
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
文件管理页面
php
functionupload($file,$file_path){
$error=$file['error'];
switch($error){
case0:
$file_name=$file['name'];
$file_temp=$file['tmp_name'];
$destination=$file_path."/".$file_name;
move_uploaded_file($file_temp,$destination);
return"文件上传成功!
";
case1:
return"上传附件超过了php.ini中upload_max_filesize选项限制的值";break;
case2:
return"上传附件的大小超过了form表单MAX_FILE_SIZE选项指定的值";break;
case3:
return"附件只有部分被上传!
";break;
case4:
return"没有上传附件!
";break;
}
}
functiondownload($file_dir,$file_name){
if(!
file_exists($file_dir.$file_name)){//检查文件是否存在
exit("文件不存在或已删除");
}else{
$file=fopen($file_dir.$file_name,"r");//打开文件
header("Content-Disposition:
attachment;filename=".$file_name);
//输出文件内容
echofread($file,filesize($file_dir.$file_name));
fclose($file);
exit;
}
}
>