1、校园新闻管理系统的设计与实现实验报告班 级:10网工三班 学生姓名:谢昊天 学号:项目实训目的:本课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,同时使学生掌握基于PHP、Mysql、HTML以及JavaScript等B/S模式的应用程序开发技能,为学生将来的就业提供了很好的时间锻炼的机会。项目实训内容:该系统的目的是设计一个B/S(浏览器/服务器)交互式的校园新闻管理系统网站。规定网站不要脱离数据库而独立存在,完毕前台Web设计和后台数据库的设计,要体现出交互性,其中系统前台用户可以完毕的功能是:浏览新闻;查看新
2、闻评论;对新闻发表评论;后台管理员可以完毕的功能是管理员管理;新闻类别管理;新闻管理;评论管理等。需求分析描述:功能需求:本系统的目的是实现新闻发布系统的基本功能。本新闻发布系统提供了不同类型新闻(如校园新闻、体育新闻、娱乐新闻、国内新闻和国际新闻等)满足不同用户需求;系统将用户分为:普通用户,系统管理员和新闻管理员。普通用户能在本系统中进行新闻浏览,阅读,新闻搜索。每条新闻的标题被做成一个链接,用户点击它们就能跳转页面进行新闻阅读;新闻阅读页面,每条新闻的具体信息将被取出,涉及内容、标题等;用户能根据自己的需要搜索新闻,如可以通过新闻标题或新闻内容对新闻进行搜索这样可以快速地找到符合条件的新
3、闻,并输出搜索结果;用户能对新闻进行被评论(允许匿名评论)。系统管理员可以进行新闻分类管理、添加新闻、修改新闻、新闻审核和删除新闻,同时系统管理员能完毕用户管理如涉及系统用户管理、添加用户和更改账号。新闻管理员拥有添加新闻和更改账号的权限。根据用户不同,给予不同权限,这样加强系统的管理,同时加强系统的安全性。性能需求:根据新闻系统的需求进行开发设计,重要实现如下目的:1.界面设计和谐、美观、数据要准确、安全、可靠。2.强大查询功能,方便用户浏览网站的所有信息。3.设计会员登陆功能,保证新闻留言的安全性。4.实现对信息、比赛项目等信息的添加、修改、删除,便于更新网站内容。5.系统最大限度地实现易
4、维护性和易操作性。操作的简易实用性本系统是新闻发布系统针对的用户大多数是学生,教师等等。因此操作的简易实用性就体现的特别重要。在此系统的开发中就很好的体现了这一点,系统的界面美观,典雅,充满了人性化;用户操作起来也容易上手。对于一个新闻发布系统而言新闻信息是很多的,并且使用人数较多,所以对系统的安全性有比较高的规定:对于数据库,要设立不同用户的权限,数据的修改必须由合法用户操作。功能需求: 本系统给用户提供了一个合理管理WEB 新闻的平台。也提供了快速浏览新闻的平台。系统管理员的重要功能规定:1.用户管理模块,涉及用户删除,修改,添加。2.新闻栏目管理模块,涉及栏目删除,修改,添加。3.新闻录
5、入模块。4.新闻管理模块,涉及新闻删除,新闻修改。新闻浏览的重要功能规定:1.新闻列表模块,涉及准时间显示列表,按类别显示列表。2.新闻浏览模块。3.新闻搜索和查找模块,涉及按作者查询、按标题查询等。用户界面需求:网站界面是用户直接访问的页面,所以必须要让用户一访问就能看出来这个网站的主题思想是什么,一下就能体现出这个网站的中心内容。并且首页的模块之间要联系紧密,更好的让用户理解明白。在这个页面上我们要做到所有查看消息的功能都能实现,或者说有能实现查询信息功能的连接。新闻发布系统前台功能结构图新闻发布系统前台功能结构前台登录新闻列表分页显示新闻信息模糊查询新闻具体信息显示发布新闻评论新闻发布系
6、统后台功能结构图新闻发布系统后台功能结构新闻类别管理后台用户注销新闻信息管理评论管理类别添加类别编辑类别删除新闻添加新闻编辑新闻删除评论审核评论删除流程图:新闻发布系统顶层数据流程图新闻发布系统游客管理员发表评论登录请求新闻信息查看新闻及新闻类别信息维护评论信息维护注销请求新闻发布系统中层数据流程图用户管理评论管理新闻信息查询新闻信息维护新闻类别管理游客管理员用户users评论review新闻类别category新闻news注销请求新闻类别信息新闻信息新闻类别信息新闻信息新闻信息登录请求发表评论查看评论评论信息用户信息评论信息类别名称新闻信息管理底层数据流程图新闻信息查询查看新闻具体信息删除指
7、定新闻添加新闻修改指定新闻reviewnews游客管理员新闻信息保存category某一页的新闻列表框显示某一页的新闻列表信息所有评论信息息新闻具体信息息news_id新闻具体信息息新闻具体信息息news_idnews_idnews_id新闻具体信息及所有评论新闻具体信息及所有评论news_id及其他修改信息news_id及其他修改信息category_id+category_name系统结构设计:本系统给用户提供了一个合理管理WEB 新闻的平台。也提供了快速浏览新闻的平台。 系统管理员的重要功能规定: 1、用户管理模块,涉及用户删除,修改,添加。 2、新闻栏目管理模块,涉及栏目删除,修改,添
8、加。 3、新闻录入模块。 4、新闻管理模块,涉及新闻删除,新闻修改。新闻浏览的重要功能规定: 1、新闻列表模块,涉及准时间显示列表,按类别显示列表。 2、新闻浏览模块。 3、新闻搜索和查找模块,涉及按作者查询、按标题查询等。新闻发布系统前台功能结构:1、前台登录;2、新闻列表分页显示;3、新闻信息模糊查询;4、新闻具体信息显示;5、发布新闻评论。新闻发布系统后台功能结构:1、新闻类别管理 类别添加 类别编辑 类别删除2、后台用户注销3、新闻信息管理 新闻添加 新闻编辑 新闻删除4、评论管理 评论审核 评论删除实验结果:1、实现字符串翻转功能页面test1.php运营结果如下所示,此页面实现了英
9、文和中文的字符翻转功能。2、实现中文字符串截取功能页面test2.php运营结果如下所示,功能已经实现。3、实现中文字符比较功能页面test3.php运营结果如下所示,功能已经实现。4、实现HTML字符串过滤功能页面test4.php运营结果如下所示,各个字符出来函数解决的结果不相同,各个各的用处。实验总结:通过两周的课程设计,是我综合运用了PHP表达式、PHP函数编写、PHP数组、PHP数据采集、PHP会话控制等这学期所学习的知识,不仅检查了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完毕一件事情。在设计过程中,课程设计是我们专业课程知识综合应用的实践训练,着是我们
10、迈向社会,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。在这次设计过程中,体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的局限性和薄弱环节,从而加以填补。通过本学期对PHP网络编程的学习、使我对PHP编程有了更深层次的理解和运用。在本次课程设计中中,回顾书本上的理论知识,巩固了我的知识。也检查了这学期的学习成果。系统实现过程:新闻发布系统实行设计界面后,在将系统移交给用户的一系列活动叫做系统实行。新闻发布系统涉及新闻浏览,评
11、价浏览,新闻发布等功能.1.文献组织结构:在“c:wampwww”目录下创建”111”目录,在“111“目录下创建 ,如图所示:2.数据库的实行在“c:wampwwwn111”目录下创建news.sql脚本文献,news.sql脚本文献一方面设立存储引擎为InnoDB,然后设立字符集为gbk,接着创建news数据库,并在数据库中创建category表news表review表 user表。SQL语句如下:set table_type=InnoDB;show variables like table_type;set character_set_client=gbk;set character_s
12、et_connection=gbk;set character_set_database=gbk;set character_set_results=gbk;set character_set_server=gbk;set collation_connection=gbk_chinese_ci;set collation_database=gbk_chinese_ci;set collation_server=gbk_chinese_ci;show variables like character%;show variables like collation%;create database
13、news;use news;create table category(category_id int auto_increment primary key,name char(20) not null) create table users(user_id int auto_increment primary key,name char(20) not null,password char(32) create table news(news_id int auto_increment primary key,user_id int,category_id int,title char(10
14、0) not null,publish_time datetime,content text,clicked int,attachment char(100),constraint FK_news_user foreign key (user_id) references users(user_id),constraint FK_news_category foreign key (category_id) references category(category_id) create table review(review_id int auto_increment primary key,
15、news_id int,content text,publish_time datetime,state char(10),ip char(15),constraint FK_review_news foreign key (news_id) references news(news_id)启动Navicat Lite for MySQL软件本地连接数据库:点击连接点击拟定 在右边空白处右击鼠标,文献:数据库news文献的地址-点击开始刷新 完毕数据库的连接,在各个表中输入相应的信息,保存SQL语句。 7.1代码设计新闻管理和评价管理功能的实行新闻管理(新闻发布,新闻浏览,修改新闻等)和评价管
16、理(添加评价,评价浏览,删除评价,审查)的核心。(1)编制MYSQL服务器连接函数和上传文献上传函数。在“c:wampwwwnewsfunctions”目录下创建database.php文献程序用于实现MYSQL服务器连接的启动和关闭。database.php代码如下:(2)向数据库中添加测试数据库的程序news_init.php。在“c:wampwwwnews”目录下创建news_init.php文献程序负责向向用户表user中添加一个管理员用户,向新闻类别表中添加 news_init.php代码如下:打开浏览器,输入http:/localhost/111/init.php 进行数据库初始化
17、。 (3)创建新闻添加news_add.php在“c:wampwwwnews”目录下创建news_add.php文献,该文献中涉及添加form表单为浏览器用户提供输入数据界面。news_add.php代码如下:标题:内容:类别:option value=附件:(4)创建文献管理页面file_system.php在C:wampwwwnewsfunctions目录下创建file_system.php文献,file_system.php文献中提供了实现文献上传功能uploads()函数和下载功能download()函数。file_system.php代码如下:文献管理页面(4)创建新闻信息保存页面n
18、ews_save.php在C:wampwwwnews目录下创建news_save.php文献,该程序实现的功能依次为:登录后访问,采集新闻的标题,内容,设立新闻的发布时间为WEB服务器时间,设立新闻的浏览次数为0 ,设立新闻的发布者ID为1,上传新闻的附件到uploads目录,附件上传成功后将新闻信息添加到数据库表中,将页面重定向到新闻标题列表页面news_list.php,并向news_list.php页面传递附件上传消息。news_save.php代码如下:新闻信息保存页面(5)创建新闻标题列表显示页面news_list.php在C:wampwwwnews目录下创建news_list.ph
19、p文献,该程序实现的功能依次为:显示上传的状态信息,提供一个新闻模糊查询的form表单,按照新闻发布时间降序显示新闻的标题以及编辑和删除超链接,当点击新闻标题的超链接时进入新闻的具体信息页面news_detail.php,查看新闻具体信息,当点击编辑超链接时进入新闻编辑界面news_edit.php,实现的新闻的编辑,当点击删除超链接时进入新闻删除页面news_delete.php,实现对新闻的删除。实现分页。news_list.php代码如下:新闻浏览?phpinclude_once(functions/database.php);include_once(functions/page.ph
20、p);include_once(functions/is_login.php);session_start();if(isset($_GETmessage)/echo $_GETmessage.;/构造查询所有新闻的sql语句$search_sql = select * from news order by news_id desc;/进行模糊查询,取得模糊查询的关键字keyword$keyword = ;if(isset($_GETkeyword)$keyword = $_GETkeyword;$search_sql = select * from news where title like
21、 %$keyword% or content like %$keyword% order by news_id desc;?请输入关键字:input name=keyword type=text value= /a href=news_detail.php?keyword=&news_id= a href=news_edit.php?news_id=编辑 a href=news_delete.php?news_id= onclick=return confirm(拟定删除?);删除 (6)创建新闻信息的修改页面news_edit.php。在C:wampwwwnews目录下创建news edit
22、.php文献,该程序的功能是:当点击新闻标题列表页面news_list.php中的 编辑 超链接时,news_edit.php页面从数据库中查询指定新闻的具体信息并显示在编辑页面news_edit.php中,新闻内容进入编辑状态。news_edit.php代码如下:新闻编辑页面标题:input type=text size=68 name=title value=/内容:类别: option value= input type=hidden name=news_id value= / input type=button value=取消 onclick=window.history.back(
23、); (7)创建新闻信息的修改页面news_update.php。在C:wampwwwnews目录下创建news_update.php,该文献的功能:单机news_edit.php页面 修改 按钮时,修改指定新闻的信息,然后将页面重定向到news_update.php页面,并向news_list.php页面传递“新闻信息修改成功!”信息。news_update.php代码如下:无标题文档?phpinclude_once(functions/is_login.php);session_start();if(!is_login()echo 请您登录系统后,再访问此页面!;return;include_once(functions/database.php);$news_id = $_POSTnews_id;$category_id = $_