孔令爱 胡子超
[摘要] 我国是一个地震多发的国家,地震灾害给人民的生命和财产带来了严重损失,在目前地震监测预报还不成熟的前提下,公众对于地震信息的需求越来越高,因此做好防震减灾科普宣传工作是当前的一项重要任务。为更好的服务防震减灾科普宣传,向公众提供内容丰富、形式多样、系统广泛的科普知识,满足公众对于地震知识的需求,设计一款专门的防震减灾科普信息发布系统非常有必要。文章在WAMP集成开发环境下,利用MySQL数据库采集文章、图片、视频等防震减灾信息,采用PHP语言设计实现了一套基于B/S结构的防震减灾科普信息发布系统。该系统对信息进行合理分类,具有搜索查询、留言互动等功能,为公众准确获取防震减灾知识提供了一种规范、便捷、有效的渠道。
[关键词] PHP语言; 防震减灾科普; MySQL数据库; WAMP集成开发环境
[DOI] 10.19987/j.dzkxjz.2023-007
0 引言
我国是一个地震多发的国家,地震灾害给人民的生命和财产带来了严重损失,在目前地震监测预报还不成熟的前提下,公众对于地震信息的需求越来越高,根据中国地震局的一项调查显示,公众对于地震信息的关注度高达82.9%[1],因此做好防震减灾科普宣传工作是当前的一项重要任务。随着互联网的快速发展,防震减灾科普知识越来越多的借助网络媒体进行传播,如官网、微博、微信、抖音、快手等,公众可以通过网络媒体及时获取一些关于防震减灾的信息。根据调查统计发现,目前各省份的省级地震主管部门都有利用互联网对防震减灾科普信息进行宣传[2],表1是统计的部分省份的互联网+防震减灾宣传形式。
根据前期的调研发现,各地区大多都是利用抖音、微博、微信和官网发布防震减灾类信息,很少开通专门的防震减灾科普信息发布平台。利用抖音、微博、微信等新媒体发布平台发布防震减灾类信息,一方面是因为这些平台的时效性强,在这些平台发布信息,受众可在第一时间获取;另一方面是因为这些平台的门槛低且影响范围广,任何人都可以免费注册使用这些社交软件。对防震减灾科普部门来说,低门槛的传播平台,为后期运维节省成本,大量的微博、微信用户也为科普信息的传播提供广大受众[2]。利用官网发布防震减灾类信息是因为官网代表地震部门,具有一定的权威性,容易被大众相信和接受。虽然抖音、微博、微信和官网在防震减灾类信息传播工作方面已初见成效,但却存在科普信息不成体系、分类不明确、信息融合程度低、资源过于分散以及科普信息集成性不高等问题。同时,防震减灾科普信息服务也没有经过统一规划与设计的相关产品,缺乏定制服务产品的功能,不能根据不同社会群体的需求个性化地产出服务产品,防震减灾的科普信息公共服务效能不显著,科普信息传播影响力较低[3-4]。为更好的服务防震减灾科普宣传,向公众提供内容丰富、形式多样、系统广泛的科普知识,满足公众对于地震知识的需求,设计一款专门的防震减灾科普信息发布系统非常有必要。对比官网平台,防震减灾科普信息发布平台的定位更加纯粹,只发布与防震减灾科普相关的内容,传播的科普内容更丰富、表现形式更多样。对比抖音等平台,防震减灾信息发布平台呈现的内容既可以有广度、深度,如长篇的科普文章;也可以呈现碎片化的内容,如科普图片、短视频等;此外,防震减灾科普信息发布平台可以发布科普小游戏等娱乐性的内容,让受众在游戏的同时学习防震减灾知识,寓教于乐。
根据个人兴趣,并结合自己的工作经验,本文利用WAMP集成开发环境,通过MySQL数据库采集文章、图片、视频等信息,采用PHP语言设计并实现了一款专门的防震减灾科普信息发布系统。在该平台上有科普文章、科普视频、互动问答、评论等内容,公众可以在该平台上采用问答、评论、搜索等方式,获取防震减灾科普知识。该系统为公众提供了准确的防震减灾科普信息,使公众对地震有更系统、更准确的了解。
1 系统功能需求分析
防震减灾科普信息发布系统应该具备两项功能:一是对科普信息管理和发布的基本功能,即系統后台管理部分;二是与浏览者进行交互的功能,即浏览者可以在该系统实现搜索查询、留言评论等,即系统前台显示部分。根据防震减灾科普信息管理和发布的需求,该系统需要达到以下目标:
(1)实现对防震减灾科普信息的管理,包括文章、图片、视频等信息的添加、修改、删除和审核;
(2)实现科普信息显示的多样性,增强科普信息浏览的趣味性,如科普文章、科普视频等以不同的形式显示;
(3)实现科普信息的关键字搜索功能,为浏览者提供快速获取信息的途径;
(4)实现对科普信息的留言评论功能;
(5)实现对科普信息的分类管理,如科普宣传、地震快讯、地震监测、震害防御、服务咨询等专栏。
2 系统总体设计
2.1 系统开发环境
防震减灾科普信息发布系统以PHP技术和MySQL为开发平台,PHP环境的搭建是一项繁琐的配置过程,选择一款集成环境组合包是一种更高效的做法。该系统的开发采用WampServer集成技术,将Apache、PHP、MySQL等服务器软件和工具安装配置完成后打包处理。WampServer集成技术能快速、高效的解决计算机环境的安装配置问题[5]。
开发者通过WampServer集成技术只需要将配置好的套件解压到本地硬盘中即可使用,无需另行配置。表2是系统开发环境的详细介绍。
2.2 系统3层架构设计
防震减灾科普信息发布系统采用基于B/S的3层架构体系,包括展示层、业务逻辑层和数据存储层。B/S架构在网络允许的条件下只需通过浏览器就可以访问服务器,客户端不需要安装任何软件[3],简化了客户端的负载,减轻了系统维护的工作量。根据防震减灾科普信息发布系统的功能需求分析,系统的总体框架如图1所示。
(1)展示层即系统的最外层,分为系统后台展示层与系统前台展示层,是与浏览者和用户进行交互的Web页面,其中浏览者可以在前台展示层进行直观的浏览、搜索、评论等操作,用户可以在后台展示层进行系统数据的管理与维护。该层采用html语言实现各功能模块的页面布局。
(2)业务逻辑层即系统的中间层,按照业务规则向数据存储层获取数据,对数据进行处理,如数据的添加、修改、删除、查询、分类、审核等,并将处理后的数据反馈到展示层。该层采用了Apache+MySQL+PHP集成开发环境,采用PHP语言操作MySQL数据库,执行SQL语句,实现了后台管理与前台显示之间的交互及功能实现。
(3)数据存储层即系统的最内层,用于存储该系统的所有信息数据,包括文章、视频和其他信息,为业务逻辑层提供数据服务。该层采用了MySQL图形化管理工具phpMyAdmin实现数据库与数据表的创建。
2.3 系统功能模块设计
根据防震减灾科普信息发布系统功能需求分析,该系统包括前台显示与后台管理两部分,其中前台显示部分主要为浏览者提供包括信息查看、信息搜索和信息评论等功能;后台管理部分主要包括4个模块:信息管理、栏目管理、模板管理和用户管理。图2是系统的功能结构图。
该系统通过前台显示部分,可以为公众提供如下服务:①信息查看服务:浏览者可以在系统主界面上直观的浏览科普信息,包括图文类、视频类等信息。当浏览者在主界面上点击文章标题或者相关栏目,进入二级子页面,可获取想要查看的信息。②信息搜索服务:浏览者可以在系统前台的搜索功能中通过输入关键字,搜索想要获取的信息。③信息评论服务:浏览者可以通过信息尾部的“评论”按钮对感兴趣的信息或者存在的疑问发表自己的观点和看法。
该系统后台管理中的模块管理是该系统的特色亮点模块,该模块的主要功能是使信息管理模块中添加的科普信息在前台有丰富多彩的显示样式,能够实现对信息显示模板的添加、修改、删除等管理与维护操作,为管理者创造更多的显示模块提供平台。
3 系统功能实现
3.1 数据库及数据表的创建
在业务逻辑层实现信息的动态添加、查询、修改、删除等操作前,首先需要在数据存储层创建相应的数据库与数据表。防震减灾科普信息发布系统采用MySQL数据库存储数据,使用phpMyAdmin对数据库进行操作。MySQL数据库是一个开源的、跨平台的数据库,具有可靠、简单易用、运行速度快等优点,适合Web网站的开发[6]。phpMyAdmin是MySQL图形化管理工具中使用最为广泛的一种,可以通过Web方式对MySQL数据库进行完全的控制与操作,简单易用。
防震减灾科普信息发布系统使用phpMyAdmin创建了数据库article,并在数据库中创建了用户管理、模板管理、栏目管理、信息管理和信息评论数据表。其中,用户管理数据表的字段包括用户编号、用户姓名、用户密码、用户分类;模板管理数据表的字段包括模板编号、模板名称、模板内容;栏目管理数据表的字段包括栏目编号、栏目名称、欄目文件名、创建时间;信息管理数据表的字段包括信息编号、信息标题、信息内容、作者、发布时间、信息来源(表3);信息评论数据表的字段包括评论编号、评论者、评论内容。
3.2 系统前台功能实现
系统前台是系统后台数据运行的最终显示效果,是与系统浏览者进行交互的界面,主要为浏览者提供科普信息浏览、查看、搜索和评论等功能(图3)。其中系统前台的浏览功能是浏览者可以在系统主界面上直观的浏览科普信息;查看功能是在主界面上点击文章标题或者相关栏目,进入二级子页面,获取想要查看的信息;搜索功能是在界面首页菜单栏中体现,浏览者可以通过输入关键字,搜索想要获取的信息;评论功能是浏览者可以通过信息尾部的“评论”按钮对感兴趣的信息或者存在的疑问发表自己的观点和看法。
3.3 系统后台功能实现
系统后台的功能实现是整个系统的核心部分,为系统前台的信息显示、查看、搜索、评论等功能提供可靠的数据支撑[7]。本文开发的防震减灾科普信息发布系统后台管理部分可以划分为信息管理、模块管理、栏目管理和用户管理4大功能模块。每个模块功能都需要通过操作数据存储层中的数据来实现各自的功能。首先通过mysqli_connect()函数与数据存储层建立连接;然后通过mysqli_select_db()函数选择数据存储层中的数据库,与其建立连接;最后通过mysqli_query()函数执行SQL语句,操作数据存储层中的数据。
3.3.1 信息管理实现
信息管理模块主要功能是对系统中的数据进行处理与维护,实现系统中各类科普信息的添加、修改、删除和审核等操作。信息管理模块可实现文字编辑、图片设置、视频导入等功能。图4a是系统的信息管理界面效果图,首先使用html中的