基于PHP的考研复习管理动态网站设计

(Southwest Forestry University Big data and intelligent engineeringCollege Kunming 650224)

Abstract: With the rapid development of Internet technology and website development technology, website provides some information needed by many users. The main research object of this paper is to establish dynamic website. This paper introduces how to build a dynamic website using PHP. Understand the use of PHP, on this basis also learned the related website development technology, such as HTML technology, database technology, etc. Then I studied the current PHP frameworks and chose to use Laravel among the many on the market. Finally, on Laravel framework, MySQL database is used to realize the design of dynamic website. In addition, this paper will start from the initial PHP environment installation, according to the front-end design and back-end design, using Ajax to achieve data refresh operation, so as to achieve dynamic website management. The dynamic website built in this paper is for the convenience of the students can get the basic information of the postgraduate entrance examination can also share their postgraduate entrance examination information, background management users can carry out simple operations on the data.

php算命源码基于PHP的考研温习治理动态网站设计 CSS

Key Words: PHP;The website construction;One's deceased father grind review;

目 录

1 弁言 1

1.1 PHP简介 1

1.2 Apache的简介 2

1.3 Mysql数据库简介 2

2 需求剖析 3

2.1 需求信息的网络 3

2.2 剖析整理 3

2.3 评审通过 3

3 总体设计 5

3.1 Laravel框架 5

3.2 Mysql数据库设计 6

4 详细设计 9

4.1 后台设计 9

4.2 普通用户 12

4.3 前台页面设计 14

4.4 论坛设计 17

5 测试报告 18

5.1 测试方案 18

5.2 测试过程 18

5.3 测试结果 18

致谢 20

参考文献 20

辅导西席简介 21

1 弁言

随着信息时期的到来,教诲信息化成为了一股不可逆装的潮流,个中为了更好的方案自己的考研学习,考研复习管理网站成为了必不可少的。
我认为其研究有以下浸染:一、对要考研的同学们可以很好的看到干系信息。
二、可以让考研的同学们操持自己的学习韶光。
三、有利于同学们相互学习,记录,提升学生自主管理性。
根据我的理解,PHP代码开源,免费。
可以跨平台,在多个操作系统运行。
PHP更以为大家吸收,比较在市场中占用比较多[1]。
有丰富的系统函数库,常用操作可以直接调用系统函数库,不须要程序员自己去写。
强大的数据库支持,可以支持MYSQL,SQLSERVER,ACCESS,ORACLE,DB2等多种数据库。
有丰富的框架程序,丰富的二次开源程序。
个中MySQL数据库利用比较常见,功能完善,运行速率快。
基于以上解释,可以利用PHP和MYSQL数据库来进行网站开拓,建立一个有着基本功能完善,方便管理和可以分享学习履历的网站。

1.1 PHP简介

PHP是能让你天生动态网页的工具之一。
PHP 网页文件被当作一样平常HTML 网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP[2]。
PHP代表:超文本预处理器。
PHP是完备免费的,不用费钱,你可以从PHP官方站点(http://www.php.net)自由下载[2]。
PHP遵守GNU公共容许( GPL),在这一容许下出身了许多盛行的软件诸如Linux和Emacs[3]。
你可以不受限定的得到源码,乃至可以从中加进你自己须要的特色。
PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。
若何在Windows环境的PC机器或Unix机器上安装 PHP的资料可以在PHP官方站点上找到[4]。
现在Windows平台上大多数利用的是Appserv,它本身包括了Apache+PHP+Mysql。
可以知足市情上99%的公司,更新速率也很快。

当下载安装好后,可以通过在打算机管理里面启动或者关闭Apache和MYSQL做事,当打开Apache做事后就可以在Appserv里面的WWW文件夹下写PHP代码。

1.2 Apache的简介

Apache是根据NCSA的做事器发展而来的,NCSA是最早涌现的 Web做事器程序之一,由伊利诺斯大学Urbana-Champaign分校的美国国家超级打算运用中央开拓。
在发展初期,Apache紧张是一个基于UNIX系统的做事器,它的宗旨便是建成一个基于UNIX系统的、功能更强、效率更高并且速率更快的www做事器,这就决定了它是从其他的做事器演化而来的,并且添加了大量补丁来增强它在某一方面的性能,以是它就被命名为“APAtCHy Server (一个补丁组成的做事器)”。
在Windows下利用的Apache做事器,要建立虚拟主机,首先要设置域名,就要修正本的DNS路由表在C:\Windows\System32\drivers\etc\hosts文件里面增加域名。
然后在修正apache,AppServ\Apache24\conf\httpd.conf里面开启虚拟主机,然后修正AppServ\Apache24\conf\extra\httpd-vhosts.conf,重启做事后就可以在浏览器里面进行地址栏访问。

1.3 Mysql数据库简介

在当前有很多的数据库,Mysql是用的比较多的,比较方便的一种数据库。
Mysql数据库可以称得上是目前运行速率最快的SQL措辞数据库[5]。
除了具有许多其它数据库所不具备的功能和选择之外, Mysql数据库是一种完备免费的产品,用户可以直接从网高下载数据库,用于个人或商业用场,而不必支付任何用度[5]。
Mysql数据库设计有这几个点:数据表引擎,表字段类型,数据字段属性,Mysql做事器默认字符集,索引管理[6]。
在数据库中我们常日是用SQL语句来操作数据,分别便是insert into ,delete,update,select(增,删,改,查)四种方法来管理数据。

2 需求剖析

需求剖析大致可分为三步来完成,即需求信息的网络、剖析整理和评审通过。

2.1 需求信息的网络

考研网站的基本信息至少须要前后端用户,有前后端页面,前端须要一些考研的基本信息。
后端有两级用户,管理员用户和普通用户。
普通用户登录可以查看一些考研信息,分享自己的考研履历。
管理员便是能查看用户列表和进行密码重置,对前端页面考研内容进行修正。

管理员和普通用户一样都须要账号和密码,管理员是通过已经有的管理员进行手动添加,普通用户可以在网站页面进行注册。

2.2 剖析整理

首先要理解网站的分布,管理,做一个动态网站要写网站的前后端。
要确定大致范围和管理流程。

考研网站紧张是通过每年的考研信息进行管理,让人们进入网站的时候能对考研有一定理解,方便自己的复习,能对历年考研的过程和操持有一定理解。

2.3 评审通过

首先最基本的要完成好前后端,有前端内容,管理员登录可以进入后端对一些数据进行基本操作。
其次是数据描述,管理员和普通用户的基本信息都是储存在数据库当中,可以通过打算机来对数据进行增编削查,赞助网页进行修正,对网页的内容进行管理。
本数据的采集是通过一些考研网站进行参考。
功能需求

考研网站最基本便是要有考研的内容,管理员能查看所有用户的信息对用户信息进行操作。
普通用户便是可以查看考研内容也可以分享自己的考研心得。
末了运行哀求,正常利用时不应出错,若运行时碰着不可规复的系统缺点,也必须担保数据无缺无损,对数据的精确度、韶光特性、适应性等都有一定哀求,哀求系统运行时能够担保精确性、可靠性、高效性、完全性、易利用性、可掩护性、可测试性、复用性、安全保密性、可移植性、互联性[7]。

3 总体设计

在对系统进行可行性研究之后,就进入到了开拓阶段,都有了大致方向就对系统进行开拓。
要用PHP开拓网站,用框架开拓比较方便,供应了一些主体功能。

3.1 Laravel框架

个中Laravel,Yii是比较在市场中常见的框架,Laravel是在市场中占用比较大的一种框架,利用laravel5.3版本开拓。
要用Laravel就先安装Composer,Composer可以安装一些软,直接百度搜索Composer进入官网安装。
在命令行输入composer就可以查看是否安装好Composer。
之后就可以安装Laravel,先建立一个文件夹,是用命理行进入这个文件夹输入composer create-project laravel/laravel ‘文件名‘ –prefer-dist “5.3.”就会在文件夹中下载laravel5.3版本。
在进入的文件夹输入php artisan –V就能查看Laravel是否下载成功以及版本。
Laravel采取的是MVC模式,所谓的MVC便是模型,视图,掌握器的缩写,一种软件设计的典范,模型是用于封装运用程序的业务逻辑的数据以及对数据处理的方法,是对数据直接的访问。
视图是显示页面,和html网页差不多,掌握器是运用程序中处理用户交互的部分,掌握程序流程,对用户行为和数据的改变进行处理。

Laravel下载好后,要通过地址栏访问,直接配置虚拟主机,访问自己设置的域名,就能瞥见Laravel的主页面,就解释安装成功。
然后是对Laravel的目录理解。
第一个app文件夹是运用的核心代码,第二个bootstrap文件夹是框架自动加载文件,第三个config文件夹是配置文件,第四个database文件夹是数据库迁移,第五个public文件夹是网站主入口和前端资源,第六个resources文件夹是界面文件,第七个routes文件夹是路由目录,第八个storage文件夹是临时文件,第九个test文件夹是自动化测试目录,第十个vendor文件夹是composer依赖包。
还有一个.env文件,在里面设置连接数据库,下面便是连接数据库的内容。

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=‘数据库名称‘

DB_USERNAME=‘账号‘

DB_PASSWORD=‘密码‘

3.2 Mysql数据库设计

数据库里面的表最基本有两级用户,一个普通用户和一个管理员。
管理员可以对普通用户的密码进行修正,增加管理员用户[7]。
可以修正考研流程,在磨练攻略的内容进行删除修正增加的操作,可以修正考研流程表的内容。

表3-1 管理员表

字段名

中文含义

类型

Id

编号

Int(自增)

Name

账号

Varchar(10)

pass

密码

Varchar(10)

主键

编号

表3-2 用户表

字段名

中文含义

类型

Id

编号

Int(自增)

Name

账号

Varchar(10)

pass

密码

Varchar(10)

Time

注册日期

Data

主键

编号

表3-3 论坛表

字段名

中文含义

类型

Id

编号

Int(自增)

Time

发布韶光

datatime

content

内容

Varchar(4000)

Name

发布人

Varchar(10)

Title

标题

Varcahr(10)

status

状态

Int(1)

主键

编号

表3-4 考研流程表

字段名

中文含义

类型

Id

编号

Int(自增)

apply

报考信息

Varchar(2100)

trys

初试

Varchar(2100)

retest

复试

Varchar(2100)

adjustment

录取信息

Varchar(2100)

主键

编号

表3-5 考研攻略表

字段名

中文含义

类型

Id

编号

Int(自增)

Class

课程名称

Varchar(10)

introduce

先容

Varchar(50)

content

内容

Varchar(2000)

主键

编号

图3-1就解释了数据库关系的解释,用户分为两级,普通用户和管理员。
管理员可以对一些内容进行管理,便是对数据进行操作,修正管理员密码和用户密码,对考研流程进行修正,可以发布一些考研文章。
普通用户可以在论坛发布内容,管理员要对内容进行审核。

密码

密码

修正

编号

编号

修正

审核

内容

普通用户

管理员

发布

修正

论坛

发布

发布

标题

考研流程

内容

编号

考研流程解释过程

标题

考研攻略

图3-1 数据库关系图

4 详细设计

本网站的紧张功能是实现对考研网站的管理。
又分为两级用户的管理,每个用户都有自己的账号密码,账号不能修正,管理员可以修正密码,实现基本的增编削查。
普通用户要前辈行注册,才能进行登录,管理员可以删除普通用户,修正普通用户密码[8]。
注册成功后,就可以进行登录,登录成功后就可以进入论坛,可以查看其他用户揭橥的文章,也可以自己揭橥文章。
前端页面就紧张有两个部分一个是考研流程内容和考研攻略,都是管理员可以在后台进行操作的内容。

4.1 后台设计

后台是管理员登录后能进行操作的页面,首先要设置后台页面,后台页面要先有一个页面,在Laravel中导入页面首先要在routes文件夹下的Web.php里面建立路由,由于第一个方法是要显示页面以是建立的路由是get,然后管理员用户的功能包含增编削查等功能,以是这个路由就要用资源路由resource,资源路由里面自己包含了get,post要求,方便利用各种功能。
建立好路由下一步就要在app文件下的Http文件下的Controllers文件里面建立新的掌握器文件,名字要和路由里面对应上,由于我建立的是资源路由这时候就可以通过命令行进入到项目,输入php artisan route:list。
在没有报错的情形下就会涌现路由对应的方法。
前面在.env文件里面已经连接好数据库,在掌握器文件里用use DB就可以导入数据库方法。

首先要页面显示出来第一个对应的是index方法,在index方法里面利用‘一个变量’=DB::table(‘表名’)就可以通过这个变量获取表里面的数据,当然也可以利用SQL语句select from‘表名’来给变量赋值。
下一步要在resource文件下的views里面建立对应的后缀名为blade.php的视图页面,然后在index方法里面返回到视图页面,在视图页面中可以利用的措辞和HTML一样,所以为了方便管理利用了表格来显示数据,不才一步可以在视图页面里面利用@foreach @endforeach来显示表中的数据。
这样就可以基本实现调用数据库数据。
然后由于数据可能会很多,不能把所有数据一次性展示出来,就要用到分页效果,在Laravel等分页很大略,直策应用paginate()方法添加到或得到数据后面,就能实现分页,括号中便是一个页面显示几条数据。
然后在页面中利用方法就可以获取分页按钮,然后导入app.js就可以涌现分页按钮的自带样式。
还有为了方便管理,可以再增加一个count()方法这样就可以统计出统共有多少条数据。

然后第一个方法是增加,设计的时候管理员没有注册要让存在的管理员进行手动增加。
在路由列表里面所对应的方法为store。
然后在视图页面里面增加添加管理员按钮,这时候要增加一个弹窗,通过点击之后就可以跳出增加窗口,这要在JS帮助下实现,这样也可以用AJAX实现无刷新增加,下一步就要导入JS,没有这个文件可以在JS官网下载。
然后script标签里面书写js,给按钮增加一个点击事宜add,在jquery里面简化里一个功能add,这样点击按钮就会触发这个功能。
在这个功能里面要让增加窗口涌现,首先要建立一个普通窗口,在他的css样式中把它隐蔽display: none;,通过点击事宜改换它的css样式为display="block";这样就会点击涌现窗口,同理关闭按钮也是如此,增加一个点击事宜再把它的css样式切换为隐蔽。
之后由于要获取添加窗口的所有信息以是要将信息给用form标签包括起来,由于form它自带一个anction属性里面的按钮会自动跳转,为了避免这个问题,就在form框里面增加onsubmit="return false;",让按钮不要自己提交。
然后可以给form一个id属性,这样可以在add事宜里面用serialize()方法将form里面的内容序列化,便是将内容变成字符串方便进行通报。
这样就可以利用AJAX进行增加,然后内容是‘通报地址’,‘通报参数’,‘要求办法’,通报的地址可以在在路由表单里面查看,就会通报到掌握器里面的store方法里面。
然后可以在store里面定义Request来接管数据,之后可以将接管的数据用来进行表单验证,可以设置数据是否在自己的规定范围内,是否有重复等。
验证通过后可以把数据储存进管理员表单,如果成功就返回一个数字1,不堪利就返回0,这时候在页面上AJAX就接管返回到的数据进行判断,如果返回的数据是1就实行window.location.reload();自动刷新页面,就不须要手动刷新,反之如果没有实行成功便是没有返回1,则会提醒添加失落败。

下一个功能是删除,根据路由列表里面要在掌握器里面建立destroy方法,然后在视图页面也是添加一个删除按钮,也给这个按钮添加一个点击事宜delete,在Jquery中建立del功能,由于要确定删除到的管理员,以是在点击事宜中增加了管理员带的id,在del功能中用一个obj来吸收要删除的编号,这样就可以要判断要删除的数据,然后在del方法中用AJAX发送要求,把点击的数据的编号带到掌握器中的destroy,然后用SQL语句进行删除或者也可以用查询布局器来进行删除。
同理在实行成功后返回数据1,不堪利返回0,这样在页面吸收到1后就刷新页面,反之就会提醒删除失落败。

第三个功能是修正,一样平常而言都是修正管理员的密码,账号都是不可修正的,以是账号改为不可修正状态。
和添加方法差不多,在路由列表里面利用update方法,由于修正窗口打开后要存在数据以是要根据打开的数据编号来涌现数据,以是新建了一个store方法来获取打开修正窗口后的数据,由于打开修正按钮不仅须要打开修正窗口还须要获取修正数据,以是须要给修正按钮添加两个点击事宜。
第一个点击事宜打开修正窗口也是修正修正窗口的css属性变成可见,关闭按钮反之改为隐蔽。
第二个点击事宜便是先获取要修正数据的编号然后通报到edit方法,再根据传过来的编号从表中获取数据,然后返回到修正窗口,从而修正窗口就会得到要修正的数据。
然后在修正窗口里面也添加一个提交按钮,增加一个点击事宜保存save,同样的道理,将修正窗口增加form属性,添加onsubmit="return false;",不让按钮自动提交。
由于账号不能修正以是增加disabled,让它不能修正。
编号由于在修正要用到,但是不让它显示以是他的属性为hidden。
在修恰好后点击提交,也是用ajax发送要求,通报修正窗口的数据到掌握器update方法,然后用表单验证担保修正的密码在范围内,之后利用update语句来修正密码。
同样也是成功后返回数据1,不堪利返回0。
在成功后吸收到数据1让页面自动刷新,失落败了就提示失落败。

末了一个是查找搜索功能,根据路由列表要在掌握器里面建立show方法。
然后在页面建立好搜索框和搜索按钮,给搜索按钮添加点击事宜,之后把搜索框添加一个id,这样就可以把在搜索框里的数据方便进行通报,然后通过AJAX要求通报到掌握器里面的show方法,在show方法里面Request获取数据,之后用SQL语句或者查询布局器后直接添加条件获取到的数据用like和%包裹来实现模糊查询,之后把查询到的数据返回视图页面。

这样管理员页面的增编削查功能就完成了。

管理员页面完成后,要做登录和退出方法,登录页面便是很普通的页面,也是先在web.php文件中建立登录页面路由和登录操作路由,这样建立新的登录页面掌握器和登录操作,主页面上的登录按钮跳转地址也便是路由地址,就直接跳转到登录页面,由于有两级用户以是登录页面添加一个级别管理员和普通用户,默认便是普通用户。
点击提交按钮,就直接通过anction提交到登录处理操作,然后根据传过来的级别数据,是0就处理用户操作,1就处理管理员操作。
之后通过request获取账号,由于登录只要获取一个数据以是要用first()方法来获取一行数据,之后判断输入的密码是否和表中的密码一样,一样就跳转到后台页面,不一样或者没用户就返回页面进行刷新。
为了要登录才能进入后台和推出操作以及判断登任命户是谁,在登录过程中就要把管理员账号保存进session中,然后在页面上直接显示session中的账号,这样就能显示登录管理员账号。
为了要登录才能进入,要在路由增加一个中间建,之后要在app下的Http下的Middleware创建一个同名的PHP文件,然后在Kernel.php里面在路由中间$routeMiddleware建里面添加解释。
之后在Middleware下中间建文件里面进行判断seession中是否存在数据,存在数据才能进入页面,不然就返回登录页面。
末了的退出操作也是,建立好退出路由后,在掌握器里面建立退出方法,当在页面点击退出按钮后,提交到掌握器的退出方法,清楚session中的信息,然后返回登录页面。
这样后台管理员的登录退出就完成了。

4.2 普通用户

普通用户便是通过注册之后可以登录的用户,以是要先完成注册操作,在数据库中创建好user表后,注册按钮做好后,也是先做注书页面,重新建立一个get要求的路由,注册按钮的链接地址便是路由的地址,然后也是新建掌握器,掌握器建立好,在views里面新建视图页面,做好账号和密码的输入框。
在Web.php里面做好post要求的处理注册和注书页面后,在掌握器里面做与路有相对应的check方法,在注书页面用form标签包括起来,然后利用anction提交到check方法,之后利用Request吸收数据,先对密码进行验证是否符合,然后判断账号是否被注册,然后判断两次输入的密码是否同等[8],如果有一条都不知足就会重新刷新页面,在之后如果都知足那就新建一个数组把账号密码和注册日期都写进数组,然后将数组的数据保存进user表里,然后就自动跳转到登录页面,前面已经做好登录页面,登录级别默认便是普通用户,之后也可以通过登录按钮来进入登录页面。
然后在登录操作吸收到了级别为普通用户,用first()方法获取账号数据,之后判断密码是否同等,同等后也是把账号存进seession里面,为了要确保登录后才能进入论坛也是要新建一个用户中间建,确保session存在信息,如果没有信息就返回登录页面,要确保登录才能进入论坛,退出功能功能也一样,做好路由和掌握器后,点击退出就打消session信息返回主页面。

然后用户的登录注册功能完成后,也是须要对用户数据进行。
由于用户是要通过注册来增加人数,以是就没有了管理员增加功能,但是修正密码和查找,删除功能都在,以是也要新建一个资源路由来进行操作。
然后也是新建一个用户的掌握器,由于也是须要先引入数据库数据以是在路由中也要建立引入页面的路由,然后指定用户器中的index方法从用户表中获取用户数据。
然后也包括分页和统计总数的方法。

在后台有了两个页面,一个管理员数据一个普通用户数据,但是导航栏是共用的,这时候就可以用到Laravel中的模板继续,因此可以把导航栏写入一个文件中,然后利用extends来继续导航栏,这样往后多出来的页面也可以利用继续来共用导航栏。

然后便是对用户数据的删除,修正,查找操作。
由于有了对管理员的数据操作,以是都差不多。
首先是对用户密码的修正,也是须要点击修正按钮后涌现窗口和相对应的数据,以是也是要在掌握器中建立相对应的方法,以是也是增加两个点击事宜。
然后将修正窗口内容利用form标签包括,将内容通过AJAX发送要求到掌握器,通报编号,然后根据编号对传过来的密码进行修正,修正成功后对页面进行刷新,没成功就提示修正失落败。
删除功能也是一样,点击删除按钮后,触发点击事宜,将数据编号通过AJAX要求通报数据到掌握器,然后通过SQL语句将数据删除,之后也是刷新页面。
末了的搜索功能也是搜索用户账号,建立好搜索框和搜索按钮。
通过AJAX要求将搜索内容发送到掌握器里的show方法,通过Request吸收数据,然后将数据通过查询布局器用like实现模糊查询。
这样对普通用户的管理也就完成了。

4.3 前台页面设计

后台基本设计好后,就要根据前台内容来改变功能,主页面便是一进到网页就能看到的,前台页面就和html内容差不多,为了差异利用了后缀名为.php的文件[8]。
首先网站的都是导航栏,导航栏都是根据内容来方案有几个内容。
然后最右边便是注册登录按钮,之前登录注册功能已经完成,将登录注册按钮的链接到登录注书页面,就完成了。
由于导航栏是共用部分,以是这时候也利用了模板继续来完成。

图4-1 导航栏界面图

然后我自己根据网站履历,首先须要知道考研的韶光,以是第一部分做了一个计时器,利用js里面的getTime属性做了一个考研计时器,见告浏览的人们考研还有多永劫光。

图4-2 计时器界面图

然后第二个部分是流程,由于考研流程的韶光都是固定好的,不会发生改变,以是韶光板块就写成了静态,不可以通过数据库修正,要修正的对个中的先容由于,每年的考研内容都可能过去不一样。
当写好静态内容后,在数据库新建考研流程表,这时候就可以在主页掌握器里调用考研流程表的内容显示出来。
由于内容也是须要管理员进行修正,以是在后台要新建考研流程管理页面,新建考研流程路由后,由于考研流程只须要页面和修正方法以是在掌握器里面只须要两个方法,一个通过考研流程表来显示数据,一个用来修正数据。
由于内允许多,单行输入框显示不了,以是用了textarea标签来显示数据,这样也就不须要在涌现修正窗口,要修正内容直接在textarea标签内修正,然后便是新增一个提交按钮,用form将内容包括起来,也是通过AJAX发送要求,不然按钮自动提交。
当掌握器修正方法吸收到数据后和以往方法不一样,由于前面方法只须要修正密码一条SQL就可以完成,这次须要一次修正1到4个数据,以是这次就多写了几条SQL语句,并且做了分支,这样可以无论是一次修正一条数据还是多条数据都可以。

图4-3 考研流程界面图

下一个板块是考研攻略板块,内容便是涌现标题和先容,点进去之后可以查看详细内容。
由于每年的攻略都有所不同,可以增加修正删除,以是也须要数据库进行操作,以是也在数据库里新建考研攻略表,在掌握器中将考研攻略表数据调用出来,调到考研攻略模块。
然后也要通过后台操作,以是也要新建资源路由和掌握器,在后台引入页面后,这次须要的方法是增编削查方法,以是也是根据路由列表在掌握器中建立方法。
在后台新建页面引入数据库数据后,利用paginate()和render()完身分页,利用count()完成统计数据。
之后也是新建修正按钮,这时候就和前面一样将内容用form标签包括不让按钮自动提交,给按钮添加点击事情,也是须要两个点击事宜,先打开修正窗口然后得到要修正的数据,修正要修正的数据完成后,点击提交,用AJAX发送要求到掌握器,掌握器修正方法吸收到数据后,利用SQL语句进行判断,由于这里也是须要修正的地方是内容和先容两个数据,以是也须要多条SQL语句进行操作,多写一个判断,这样可以让内容和先容数据分开修正或者一起修正。
之后便是删除功能和前面一样,在删除按钮的点击事宜哪里点击后获取修正数据的编号,然后将编号通过AJAX要求发送到掌握器的删除方法,根据传过来的编号进行数据删除。
添加功能也差不多,点击添加按钮涌现添加窗口,给要添加的攻略输入课程名,先容和内容。
也是通过AJAX要求发送到掌握器的添加方法,将数据存入表中后将页面进行自动刷新,储存失落败就提示失落败,不刷新页面。
末了的搜索功能也是依赖资源路由,在掌握器中建立show方法,将在页面中的搜索框数据通过搜索按钮的点击事宜,发送AJAX要求,在掌握器中的show方法,吸收数据后,通过查询布局器利用模糊查询将数据返回页面,这样足以好的搜索功能也完成了。
然后在页面上只显示了攻略名称和先容,要想看到详细内容,通过点击超链接可以看到详细内容,由于每个攻略的详细内容都不一样,以是这时候内容须要根据编号来改变。
以是这时候在web.php中须要建立新的带参数路由,让连接通过js来改变地址,在点击超链接后会把地址改为路由地址带上编号通报到掌握中,这次掌握器会收到编号,然后根据编号进行查询,将内容返回到攻略详细内容的页面视图上。
这样考研攻略就完成了。

图4-4 考研攻略界面图

图4-5 详细内容界面图

下一部分便是交情链接,便是一些有名的外部链接,考研人常常会上的网站,直策应用普通超链接完成。
这样前台页面也就完成了。

图4-6 交情链接界面图

4.4 论坛设计

末了的便是用户登录后的论坛设计,由于都须要用户登录后才能进入,以是,也须要给路由增加一个用户中间建,用来判断用户是否登录,登录才能进入论坛。
当用户进入论坛也是会把账号信息储存在session中,然后当点击退出就打消session信息。
论坛便是用户可以发布一些自己的考研攻略,也可以查看其他用户发布的攻略,在数据库中创建好论坛表,攻略包括标题和内容,作者和发布韶光。
内允许多,也是须要点击链接进行查看。
以是也是新建一个带参数路由将,点击之后将连接地址改为路由地址把编号通报过去,根据编号查找到内容。
要想发布内容,用户就可以点击发帖按钮,然后就会弹出发布窗口让用户输入发布的标题和内容,用户输入完内容点击提交后,为了知道发布人,以是从seesion获取用户账号。

由于要让管理员审核发布的内容,以是还增加了一个状态,默认值为1为禁用状态,,韶光便是发布韶光。
将所有内容也是通过AJAX发送要求到掌握器后,将内容储存到表中,由于有了状态,刚刚发布的内容虽然发布成功,但是状态为禁用不会显示,这时候为了让内容显示,以是要建立后台管理,新建一个后台论坛的资源路由对内容进行管理,新建论坛掌握器后,也是用index方法在新建的论坛视图里面返回数据,这时候要对状态进行判断,如果数据为1便是禁用,0便是正常。
然后也是有分页和统计功能,管理员对论坛的管理是审核,所以是要对状态进行修正。
直接点击后就修正在正常和禁用中切换。
在这个时候就要对状态进行增加点击事宜,然后将数据传到事宜中进行判断,同时为了分清数据也要把数据编号进行通报进行判断,如果状态为禁用那么把数据0通报过去,反之状态为正常那么把数据1通报过去,然后通过AJAX要求发送到掌握器学习正,之后成功后就把状态进行切换,自动刷新页面。
这样管理员就可以对论坛发布的内容进行审核。

之后,在添加一个删除按钮,和前面方法一样给删除按钮添加点击事宜,把要删除的数据编号通过AJAX要求发送到掌握器,进行删除。
还有方便管理,也建立搜索功能,增加搜索框和搜索按钮通过对搜索按钮的点击事宜用AJAX要求把搜索框内容通报到掌握器,从而返回要查找的数据。
这样管理员对论坛的管理也完成了。

5 测试报告

所有的程序都做完后,要确保程序的可行性,在开拓网站过程中,有着许多缺点和繁芜的问题,程序中有着许多自己相信不符合的地方。
在开拓过程中有着还是会存在不可避免的缺点。
为了避免这些缺点还是在程序编写完成后自主创建数据进行了测试,尽可能的达到空想效果。

每个程序所在的周期都会不可以避免的涌现各种缺点,但是虽然经由审查并不能所有缺点,随着新的功能的产生还会涌现新的缺点。
随着网站的不断运行缺点将会不断地暴露,到那时不仅会影响用户们的体验,而且还要会费大量代价来修正缺点。
测试的浸染便是在网站上线之前尽可能的创造缺点并且改正。
下面将逐一先容测试方案和测试结果[9]。

5.1测试方案

1.采取了黑盒测试,便是每个功能是否知足需求[10]。

2.测试环境:Windows64系统,Apache2.4.41,PHP7.3.10,Mysql 8.0.17,谷歌浏览器。

5.2测试过程

前台测试:进入网站后页面显示是否正常,进行用户注册成功后,能否进行登录。
然后是否可以进入论坛,对文章能否进行查看,是否可以发布文章;

后端测试:在数据库中输入数据后,登录后端,对所有按钮进行测试查看数据是否发生变革。

5.3测试结果

经由一段韶光的测试,普通用户的利用统统正常,管理员对数据操作也正常。

致 谢

由于韶光和我个人水平有限,有些功能还很不完善,也没有达到想要的结果。
主页面的一些板块还可以增加,论坛一些功能还可以增加,比如对用户发布文章的留言,像一个真的论坛那样。

这次网站的设计在老师的帮助下完成,我初步结识了PHP这门编程措辞,在学校学习的这几年,我节制了一些根本理论知识,但是通过这次毕业设计暴露除了自己的很多缺陷,自己的实践理论还不敷,真正设计出来许多地方都无从下手,经由一段韶光的学习,把自己学习的一些东西可以付之实践,对自己的知识理解有一定的知道浸染。

在这次设计中,对我来说很多东西没打仗过,这就让我查阅了很多资料,从而培养了独立办理问题的的能力。

这设计能够完成感谢老师给我的辅导,无论在韶光还是精神上给了很大帮助,也感谢学院给我们创造了良好的环境来完成设计。

参考文献刘晓知.PHP在动态网站开拓中的上风[J].电子制作, 2020-04-15蔡俊铠; 廖晓芳; 朱俊宇; 方栋豪.基于PHP+MySql的宿舍管理系统[J]. 长江大学,2020-12-25林慧.MySQL在PHP动态网页设计中的运用[J].电子技能与软件工程, 2021-03-15孙英;刘忠利. 基于PHP技能的动态网页设计方法[J].信息与电脑(理论版), 2020-07-25熊辉. PHP技能与MYSQL数据库技能的Web动态网页设计[J].信息记录材料, 2021-01-01杨登;王赛.基于PHP的校园招聘网站的剖析与设计[J].信息与电脑(理论版), 2019-10-25王领.PHP在动态网站开拓中的上风与详细运用剖析[J].信息记录材料, 2019-03-01王永红.PHP技能在动态网站设计中的运用[J] .时期农机, 2018-12-28杨洋.PHP在动态网站开拓中的上风[J]. 电子技能与软件工程, 2018-07-10张媛. 基于PHP与数据库技能的Web动态网站设计[J].自动化与仪器仪表, 2018-09-25

辅导西席简介

赵璠,男,1983年生,博士,副教授,硕士研究生导师,紧张从事打算机技能、电子信息技能、遥感信息技能在森林资源保护与利用方面的传授教化和科研事情。
国家公派赴美访问学者。
主持和参与国家科技支撑操持、国家公益性行业重大专项等多项国家级和省部级项目。
得到国家林业和草原局梁希林业科学技能二等奖1项,云南省科学技能进步二等奖2项、三等奖1项。
主编参编著作3部,揭橥第一作者和通讯作者论文30余篇,授权专利和软件著作权10余项。
International Engineering and Technology Institute(IETI)高等会员,中国林学会森林防火委员会高等会员,财政部和云南省政府采购评审专家,云南省科技厅科技项目评审专家。
《浙江农林大学学报》、《西南林业大学学报》、《广西林业科学》等核心期刊审稿人。
近年取得的多项科研成果在林业系统推广运用取得较好效益。
研制的“便携式火险测报及安全评估仪”被云南省科技厅列为2015年度“走一线、看科技”的创新成果宣扬项目。
紧张承担《打算机网络》、《传感器事理与运用》、《无线传感器网络》、《无人机系统事理与运用》等本科和硕士课程的传授教化。