1、基于PHP的信息发布平台的设计与制作【实用文档】doc 文档可直接使用可编辑,欢迎下载 目录 基于PHP的信息发布平台的设计与制作1 摘要:1 关键词:1 Design and manufacture of information publishing platform based on PHP1 Abstract: 1 Key words:ﻩ1 0 前言2 1开发工具及相关技术概述2 1.1调试及运行工具2 1.2相关技术2 2 系统需求分析6 2。1 系统开发背景6 2.2 系统定义7 2.3 功能需求分析7 3 系统概要设计7 3.1 系统功能划分组织
2、结构图7 3.2 数据库设计8 4 系统的详细设计与实现9 4.1 系统组成及运作流程9 4.2 系统主页10 4。3 管理操作页面13 4。4 社团独立主页19 5结论23 参考文献24 基于PHP的信息发布平台的设计与制作 袁宇 (河南大学物理与电子学院,河南 开封,475004) 摘 要: 互联网时代各种信息浩如烟海,以一己之力往往不可能快速、高效地分辨、筛选出于我们有用的信息。因而,经由各种专门的信息发布平台发布相对专一的信息就显得十分必要。本文以我校目前处于分散发布的学生社团信息为例,以动态网页为依托,建立一个学生社团信息集中发布平台,以实现分散信息的
3、集中化、专门化发布。本系统利用XAMPP集成软件包,采用PHP+Apache+MySQL的模式进行开发,由Apache服务器提供开发环境,前端页面由PHP嵌入HTML进行设计和制作,后台采用MySQL数据库进行数据的管理和开发,实现了逻辑清晰的布局和管理。 关键词: PHP技术Apache服务器MySQL数据库动态网页 Design and manufacture of information publishing platform based on PHP yuanyu (School of Physics and Electronics, Henan University,
4、HenanKaifeng 475004, China) Abstract: Internet era each kind of information is voluminous, to single handedly is often not possible to quickly and efficiently identify, screening for us useful information。 Therefore, through a variety of specialized information publishing platform released relativ
5、ely single-minded information is very necessary.This paper to our school is currently in the dispersed student community information, for example, on dynamic web page as the basis, establish a student information concentrated release platform, in order to realize the centralization of the dispersed
6、information, special publication。The system using xampp integrated software package, the use of PHP + Apache + MySQL development model, development environment provided by the Apache server, the front page by PHP embedding HTML was designed and fabricated, the background of the MySQL database data m
7、anagement and development, realize the logical layout and management. Key words: PHP TechnologyApache serverMySQL database The dynamic web page 0 前言 信息,作为21世纪最为宝贵的资源之一已经在各个方面深刻影响了人类的生活方式.伴随信息时代日新月异的高速发展,网络正在逐步地与人们日常生活的方方面面深度融合。人们每天都会从网上获取大量信息,大到医疗、财经,小到天气、出行。此外,人们还无时无刻不利用手机、平板、电脑等各式各样的互联网终端设备通过查
8、阅学习资料,浏览新闻热点等方式从网上获取信息。这其中,五彩缤纷的网页信息占据了主体部分.但随着Internet的不断发展,静态Web站点的开发与维护已经越来越无法满足现状的需要.一方面,信息的快速增多和迅速变化让站点的维护变得越来越困难;另一方面,与用户缺乏有效交互的静态网站也令用户失去多次访问的兴趣。因此,动态网站的开发已渐成趋势. 1开发工具及相关技术概述 1。1调试及运行工具 本系统采用XAMPP集成软件包为网站搭建调试及运行的环境. XAMPP软件包集成了包括服务器、数据库等在内的多个网站调试及运行时所必须的功能组件,省去了我们分别安装各个软件的不易,极大提高了开发效率.它操作
9、起来十分简便:从官网上下载后直接解压、启动便可运行。这款软件最初的名字是LAMPP,最新的版本中改为了XAMPP以防混淆。XAMPP是一个合成词,其中各个字母分别代表了软件包中所集成的一种网络服务服务:A代表了Apache 服务器,M代表了MySQL数据库,P代表PHP技术,P表示Perl。而在本系统的开发过程中用到的是Apache+MySQL+PHP。 1.2相关技术 1.2.1PHP的工作原理及相关技术 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)作为一种通用开源脚本语言能与同样开源的Apache和MySQL产品良好结合进而共同
10、完成网站的开发与运用,并且PHP效率相比较而言较高。Error! Reference source not found.其应用十分广泛,特别是在网络程序开发方面。PHP代码在服务器上运行生成网页供浏览器读取,从而减轻了客户端的负担,同时提高了系统整体升级维护的效率,降低了维护成本。PHP可以在许多的不同种的服务器、操作系统、平台上运行,也可以和许多数据库系统结合。使用 PHP 不需要任何费用,官方组织 PHP Group 提供了完整的程序源代码,允许用户修改、编译、扩充来使用。 PHP的设计理念及特点: (1)多进程模型。 (2)弱类型语言:变量类型可能会在运行过程中发生改变,从而使开
11、发过程变得便捷、高效. (3)引擎(Zend)+组件(ext)的模式降低内部耦合。 (4)中间层(sapi)隔绝web server和PHP。 (5)语法简单灵活,没有太多规范.缺点导致风格混杂,但再差的程序员也不会写出太离谱危害全局的程序。 其工作原理如图1.2-1所示: 图1.2-1:PHP工作原理示意图 1.2.2数据库技术 通俗地讲,数据库就是一个存放数据的仓库,只不过数据在这个仓库中是按一定的数据结构来进行组织、存储和管理的。严格地讲,数据库又与单纯存放数据的仓库不同。数据库是安全一定原则处理过的数据的集合,是长期存储在计算机内的、有组织的、可共享的大量数据的集合.
12、数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享,其具有永久存储、有组织和可共享三个基本特点。Error! Reference source not found. SQL即结构化查询语言的英文简称,其全称为Structured Query Language,是关系数据库的标准语言。SQL是专为数据库而建立的操作命令集,是一个通用的、功能极强的关系数据库语言。Error! Reference source not found.其具有综合统一、高度非过程化、操作方式面向集合、以同一种语法结构提供多种使用方式、语言简洁,易学易用的特点
13、Error! Reference source not found. MySQL是一种关系型数据库管理系统,它的一个优势是开放源代码,这使得它被广泛应用。此外,MySQL数据库系统使用被广泛应用的数据库管理语言——结构化查询语言(SQL)进行数据库管理.Error! Reference source not found.其具有支持多线程、支持多种存储引擎、快速、多用户等特点。它支持标准SQL查询语言和多种数据类型,能对数据进行各种类型的查询等。MySQL提供了一整套的数据库创建和访问机制,让用户能够通过很直观的方式创建、访问、修改数据库的表和项,并且建立它们之间的各种数据关系。 MySO
14、L数据库的优点之一是由其生成的文件简小轻便,使用时可以不启动或运行数据库进程,通常MySQL数据库文件可以和网页文件一起方便地保存在网站的目录中.此外,同时访问数据库的用户数量不受限制,用户权限设置简单、有效。而且,MySQL还是目前市场上现有产品中运行速度最快的数据库系统.正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。 对MySQL数据库的管理采用图形化管理工具phpMyAdmin .phpMyAdmin 是一个以PHP为技术支持的数据库管理工具.借由phpMyAdmin用户可通过网页窗口便捷地管理后台数据库。对于SQL语句的繁多复杂,此窗口提供了一个简易高效的
15、输入途径,使得大量数据的输入输出等操作更为简洁高效。此外,同PHP程序一样phpMyAdmin的执行也是在网页服务器上进行的,这给开发人员提供了很大的便利使其可以远端控制MySQL数据库等。 1。2.3Apache服务器 Apache HTTP服务器是一个优秀模块化的服务器产品。它来源于NCSAhttpd服务器,因为开源的特点,经过多次修改,集合了众多人的智慧,成为世界使用排名第一的Web服务器软件。它不受操作系统限制,几乎可以广泛地运行于所有计算机平台上。 Apache服务器拥有以下特性: (1)支持基于IP和基于域名的虚拟主机; (2)集成Perl处理模块; (3)支持服务器端
16、包含指令(SSI); (4)支持实时监视服务器状态和定制服务器日志; (5)支持通用网关接口; (6)集成代理服务器模块; (7)支持多种方式的HTTP认证; (8)支持最新的HTTP/1。1通信协议拥有简单而强有力的基于文件的配置过程; (9)提供用户会话过程的跟踪; (10)通过第三方模块可以支持Java Servlets. (11)支持FastCGI; (12)支持安全Socket层(SSL). 1.2.4HTML概述 HTML是网页制作中必不可少的一种文本标记语言,主要用于构成网页文档. HTML(HyperText Mark-up Language)即超文本标
17、记语言或超文本链接标示语言,是网络上最广为人们使用并认可的文本标记语言。它的作用在于使互联网上不同主机之间的文本或图像联接成一个统一的有机整体,使得网页的开发变得高效、简捷。 HTML是组合成一个文本文件的一系列标签。Error! Reference source not found.其标签通常是英文词汇的全称或缩略语。但与一般文本的区别之处在于它们都是放在单书名号里的。此外,值得注意的一点是:标签都是成对出现的. 1。2.5 CSS简介 CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现HTML或XML等文件样式的计算机语言。Error!
18、Reference source not found. CSS是一种计算机网页样式设计语言,其一大特点是将网页表现与内容实现了真正的分离.相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。Error! Reference source not found. 1.2。6 B/S模式 B/S结构(Browser/Server,浏览器/服务器模式),是一种高效的网络结构模式.这种模式一定程度上解放了客户端,它将实现系统功能的主要部分
19、集中到服务器上,使得对系统的开发、使用、维护和升级变成了对服务器进行相关的操作,从而降低了维护成本,提高了开发效率。B/S结构一方面使客户机的工作得以简化—-使其只需配置少量客户端软件即可,而另一方面访问数据库和执行应用程序的任务都将由服务器来完成,这在一定程度上加重了服务器的工作负担。其优势所在有: (1)分布性强,查询、浏览等业务处理不受时间、地域限制。 (2)业务扩展简单方便,通过增加网页即可增加服务器功能。 (3)系统维护、升级简单高效,改变网页即可使所有用户同步更新。Error! Reference source not found. (4)开发简单,共享性强 此外,相对
20、于原来C/S体系的二层结构,B/S体系拥有三层体系结构。其中多出来的一层是由原客户端中分离出来的由服务器独立组成的事务处理逻辑模块。这种三层体系结构如图1.2—2所示: 图1。2—2:B/S三层体系结构 2系统需求分析 2.1系统开发背景 简单来说,当前信息量的爆炸性增长和个人精力的有限之间的矛盾是信息发布平台开发的基本动力.当今社会,网络已经进军各行各业,人们生活的方方面面都跟网络产生了紧密的联系。而信息作为网络世界的重要载体业已成为当今时代最为宝贵的资源之一。互联网上每时每刻都会产生数目惊人的海量信息,而面对那些未经归类整理的形形色色的海量信息普通人是无法从中获取有价值的信息的
21、而这无疑既会影响到人们的日常工作、学习、生活,又是对信息所蕴藏价值的一种极大浪费。因而,我们需要一个信息搜集、归类整理以及发布的专门平台,在这个平台上集中了人们所关注的某一个方面的信息并以实时更新的方式通过让人一目了然的方式对外发布。 本文所描述的系统以我校学生社团为研究对象进行开发。目前,我校各式学生社团共有一百多个,这些社团都会组织一些和自己社团宗旨相符合的课余活动,而这些活动的相关信息目前都是由各个社团自己的微博、微信等公共号进行发布的。这就导致没有参加某个社团的同学无法或者很难了解到该社团的有关活动信息。因此,建立一个面向全体学生的统一的社团信息发布平台,集中、整合、管理并实时发布
22、社团活动信息就显得有所必要. 2.2系统定义 本系统有两类主要用户,一类是全体学生,一类是各式学生社团。系统设置一个主页,各社团最新动态在主页面上分区显示,每个区域内都可以通过链接转向该社团的社团主页。每个社团自己的主业可以根据社团要求另行设计。对于普通学生个人用户只需通过浏览网页来获取自己所需信息即可;而对于社团用户,通过申请由管理员对其进行注册并向其发放已经注册成功地社团ID,社团用户凭此ID号可登录信息上传界面上传其活动信息。 2.3功能需求分析 本系统一共有三类用户:普通学生、学生社团和管理员。 对于普通学生,只要通过域名就可以访问平台浏览各个社团发布的活动信息.对于社团用户
23、经管理员注册成功后具有登录该社团信息上传页面的权限,可以上传其相关活动的信息。而对于管理员,其具有访问后台数据库的权限。他负责新加入社团用户的注册,同时负责后台数据的增加、删除、修改等管理任务.此外,他还负责根据有关社团的要求管理网站代码,为其定制个性化的社团独立页面。对于后台数据库,则要设置注册信息表用以保存各个社团的注册信息并在社团用户每次登录时对其身份进行认证;设置管理员信息表用以保存管理员信息并对其登录情况进行记录;设置各个社团活动信息表用以对各社团所上传的活动信息加以保存。 3系统概要设计 3.1系统功能划分组织结构图 根据以上对系统功能需求的分析,可得到系统功能划分组织结构
24、图如图3.1—1所示: 图3。1-1:系统功能划分组织结构图 3。2数据库设计 在社团活动信息发布平台的后台数据库中有注册信息表一个,其结构如下表3。2-1所示、管理员信息表一个,其结构如下表3.2-2所示、社团活动详细信息表若干,其结构如下表3.2-3所示。 表3.2-1:注册信息表 字段 类型 Userid Int(3) Username Text Userpassword Text Usertel Bigint(11) Useremail Text Useraddress Text Registime Datetime 表3.
25、2-2:管理员信息表 字段 类型 managerid Int(4) password text logintime datetime 表3.2-3:社团活动信息表 字段 类型 Userid Int(11) Actitle Text Acinfo Text Uptime Datetime 4系统的详细设计与实现 4。1系统组成及运作流程 本系统包括一个主页面用于显示各个社团的最新动态,一个社团用户登录界面,一个详细信息上传界面用于社团用户上传其活动相关信息以及若干的社团独立页面用于展示与该社团相关的其他详细信息。 系统的运作流程是
26、首先由社团用户向管理员申请获得一个社团ID后,该社团便可登录系统并上传最新的社团动态。而普通学生用户则是直接通过网页获取自己感兴趣的信息即可,无需登录。 管理员和社团用户均可对后台数据库进行相应的操作,则实现前端与后台数据库连接的代码如下: 〈?php $mysql_server_name='localhost’; //我的mysql数据库服务器 $mysql_username='root’; //我的mysql数据库用户名 $mysql_password='’; //我的mysql数据库密码//未设置 $mysql_database='emiya'; //我的mysql数据库名
27、 $conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database) or die(”error connecting”); //连接数据库 mysqli_query($conn,”set names 'utf8'”); //数据库输出编码 //mysqli_select_db($mysql_database); //打开数据库 session_start(); ?> 4.2 系统主页 系统暂设有4个学生社团用户,其社团最新动态信息在前端主页的显示效果如下图4。2—1所
28、示,其后台数据库存储如下图4.2-2所示: 图4.2—1:系统主页 图4.2-1:已注册社团在数据库中的存储 图4.2-1中时钟为动态翻页时钟,其实现代码如下: ﻩvar h_current = -1; ﻩvar m1_current = -1; ﻩvar m2_current = -1; var s1_current = —1; var s2_current= -1; function flip (upperId, lowerId, changeNumber, pathUpper, pathLower){ ﻩ var upperBackId = uppe
29、rId+"Back"; ﻩ $(upperId)。src = $(upperBackId).src; ﻩ$(upperId)。setStyle("height”, "64px”); ﻩ$(upperId).setStyle("visibility", ”visible”); ﻩﻩ$(upperBackId)。src = pathUpper+parseInt(changeNumber)+"。png"; ﻩﻩ$(lowerId).src = pathLower+parseInt(changeNumber)+”.png"; ﻩ $(lowerId).setStyle(”height"
30、 ”0px”); ﻩ $(lowerId).setStyle("visibility", "visible"); ﻩﻩvar flipUpper = new Fx.Tween(upperId, {duration: 200, transition: Fx.Transitions.Sine。easeInOut}); ﻩflipUpper。addEvents({ 'complete’: function(){ ﻩﻩvar flipLower = new Fx.Tween(lowerId, {duration: 200, transition: Fx。Transitions。
31、Sine.easeInOut}); ﻩﻩﻩ flipLower。addEvents({ ﻩ ﻩﻩﻩ'complete': function(){ ﻩ ﻩlowerBackId = lowerId+"Back”; ﻩ ﻩﻩ $(lowerBackId).src = $(lowerId).src; ﻩ ﻩ ﻩﻩﻩ$(lowerId)。setStyle(”visibility", "hidden"); ﻩﻩ ﻩ ﻩ$(upperId)。setStyle(”visibility", ”hidden”); ﻩ} ﻩﻩ }); ﻩflipLower。start('hei
32、ght', 64); ﻩ } ﻩﻩﻩﻩ }); ﻩ flipUpper.start(’height', 0); ﻩ}//flip ﻩfunction retroClock(){ // get new time ﻩ now = new Date(); h = now.getHours(); ﻩ m1 = now.getMinutes() / 10; ﻩﻩ m2 = now.getMinutes() % 10; ﻩ s1 = now。getSeconds() / 10; ﻩﻩ s2 = now。getSeconds() % 10; ﻩﻩ if(h 〈
33、 12) ap = "AM”; ﻩ else{ ﻩ ﻩif( h == 12 ) ﻩ ﻩap = ”PM"; ﻩﻩelse{ ﻩﻩﻩﻩap = "PM"; ﻩ ﻩﻩh -= 12; } ﻩ } ﻩ //change pads ﻩ if( h != h_current){ ﻩ flip('hoursUp','hoursDown',h,’clock_flip/Single/Up/'+ap+’/’, ’clock_flip/Single/Down/’+ap+'/’); ﻩﻩ h_current = h; } ﻩ if( m2 != m2_cu
34、rrent){ flip(’minutesUpRight', ’minutesDownRight', m2, 'clock_flip/Double/Up/Right/’, ’clock_flip/Double/Down/Right/’); ﻩ ﻩm2_current = m2; ﻩﻩﻩflip('minutesUpLeft’,’minutesDownLeft’,m1, ’clock_flip/Double/Up/Left/’, 'clock_flip/Double/Down/Left/'); ﻩﻩm1_current = m1; } ﻩﻩ if (s2 != s2_curre
35、nt){ ﻩflip(’secondsUpRight’,’secondsDownRight',s2, 'clock_flip/Double/Up/Right/', 'clock_flip/Double/Down/Right/’); ﻩﻩﻩs2_current = s2; ﻩﻩflip('secondsUpLeft’,'secondsDownLeft’,s1, ’clock_flip/Double/Up/Left/', 'clock_flip/Double/Down/Left/'); ﻩ s1_current = s1; ﻩ} ﻩ} setInterval(’retro
36、Clock()', 1000); 4.3 管理操作页面 4.3.1管理员操作页面 管理员具有登录和注册新社团用户的权限。其中,登录页面由管理员和已注册成功的社团用户共用,两者均可通过以下同一页面进行登录对后台数据库分别进行相应的操作.登录页面如下图4.3—1所示: 图4.3-1:登录界面 登录操作实现代码如下: <?php //admin登录验证 if(!isset($_POST['submit’])){ exit(’非法访问(”_”)!’); } require_once("db_config.php"); $userid = $_POST[’userid’]
37、 $password = md5($_POST[’password']);//16位加密admin... $result1 = array(”$userid”,"$password"); if($userid!="8324”){ //社团登录 $sql =”select `userid`, `userpassword` from registerinfor where userid='$userid' and userpassword=’$password' limit 1"; $check_query = mysqli_query($conn,$sql); $result2






