刊文精选

基于PHP网站建设的功能实现和问题分析

来源:教育教学论坛     2019-3-7 20:35:31      点击:

周诗辉 赵天琦 王波

摘要:目前,网络平台的核心仍是网站,而大部分网站使用了JSP、PHP、ASP.NET等语言进行开发。作为后端处理语言,PHP很好地衔接了数据库和前端显示。同时,PHP也能兼容MYSQL的部分函数。本文讨论了信息发布网站的开发过程及遇到的问题。

关键词:PHP网站建设;信息发布网站;问题分析

中图分类号:G623.58 文献标志码:A 文章编号:1674-9324(2018)44-0205-02

伴随着世界互联网技术的快速发展以及电子设备的高速普及,网络伴随着电脑、手机等设备进入到人们的生活之中。当前我国却在校园网站的建设与应用中出现大量交互不方便信息可信度低技术功能不够完善需求与技术不平等的问题。因此,我们的首要问题就是如何建立一个操作简便且界面整洁的网站。

一、开发环境分析和问题

1.软件语言的选择和问题分析。现在网络开发的三种主流语言:ASP.NET、PHP、JSP,它们都存在自身的独特性和优缺点。JSP兼容性好、安全性最好、标签可以扩充、支持跨平台使用,但是熟练使用有一定难度,并且可移植性较差;PHP兼容性好、安全性较好、性能强、配合简单、容易学习,但是却存在本身是单线程的问题;ASP.NET开发快、易被熟练掌握,但兼容性较差,只适用Microsoft服务器,安全性一般、漏洞过多,实现某些特定需求时比较麻烦。本项目使用PHP作为开发语言,PHP作为一种类C语言在使用上具有较快的上手性,且php语言支持跨平台服务、性能优越、语法简单,目前的主流技术大多支持。PHP作为一种开源的源代码,使得它具有极大的通用性,有多种框架可以使用;作为一个使用较多的网站建设语言,安全性得到了大多数人的认可。

2.编程软件的选择。目前市场上的网页编程软件也是玲琅满目,如Sublime、EditPlus、Dreamweaver、Zend Studio等,综合分析各方面的因素,选用了Zend Studio作为编程软件。Zend Studio是一款专门为PHP网站开发而设计的软件,函数高亮、自动纠错、函数提醒,最为特殊的在于它的函数寻找。函数寻找不仅局限于PHP与MySQL自身的函数,还有编程人员自己创建的函数,Ctrl+鼠标左键单击函数后,软件自动跳转到函数下,这极大地方便了编程中的各页面跳转和函数错误检验分析。

3.环境搭建软件及问题分析。PHP网站开发最常用的软件组合为WAMP(Windows + Apache + MySQL + PHP)。Apache是一款开源的Web服务器,具有较好的应用性和安全性。在选用集成安装环境上,网络上提供了很多平台(AppServ,phpstudy,wamp等),使用前参考很多网上评论,最后先选择安装了AppServ。多次安装发现AppServ在安装8.0版本中出现较大问题:在安装中设置好登入数据库的用户名和密码,但是完成后在访問localhost网页过程中出现登录错误并出现错误字样如下:Access denied for user 'root ‘@localhost' (using password:YES)。问题说的是无法访问root用户,且使用的密码正确。查看MySQL中的用户登录文件,发现用户和密码字段没有写入到基本文件中。发现是基本文件错误后,进行了多次重装软件但是都出现上述问题,最后设置MySQL不检查用户密码进行登录。在多电脑的验证普遍性上,MySQL设置不检查用户密码进行登录这个方法在部分电脑上出现只能登入一次,之后再要登入则出现登录失败、root用户不允许的字样。并且这种方法极大的降低了数据库的安全性,对后续的开发可能会造成难以估量的损失,项目最后放弃使用Appserv的集成环境。在多个集成环境安装对比后,最终我们选择phpstudy作为开发的环境,它安装简单、软件不收费、节约可开发成本,多次安装都是一次成功和数据库连接正常。在不使用本地数据库时还可以将整个集成环境关闭节约电脑本身的后台资源。数据库密码和用户名在基础文件中直接被设置,虽然缺乏人性化但是这样避免出现Appserv中出现的无法登入数据库的问题。

二、功能模块设计及问题分析

本网站最主要的功能是信息的发布和交流。所以主要实现的功能模块有:登入模块、信息发布及处理模块、贴吧式交流模块等。

1.在每个模块的实现中尽可能的实现代码的简单化,所以我们使用到了很多函数来实现,这样在不同网页实现同一功能上可以简化代码和后台编译时间。例如addInfo被设定为添加信息的函数,管理员和普通用户都有权限进行信息的发布,我们在info.inc.php中写好addInfo的具体实现步骤,在具体实现的网页中直接调用函数即可实现信息在数据库的插入。

2.考虑到信息发布平台的信息发布涉及到很多项,其中包括图片及文件等信息的共享,而每一个的实现都需要一定的时间周期,所以我们采用Kindeditor集成环境。Kindeditor灵活的使用标签完成前台数据的实现,兼容型较好,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器,作为一款开源的HTML可视化编辑器为编程人员带来了极大的便利。该集成模块可直接在代码中进行调用,所实现的功能包括单张图片上传、多张图片上传、一般word文档上传、表情包以及对文字格式的相关处理,这样的直接调用既减少了项目的实现周期又同时保证了用户的功能实现。

3.在登入模块中网页设置了验证码,以防止用户利用机器人自动注册、登录等恶意行为。登录过程中考虑到用户体验时对一些较为相似的字符难以区分,所以在选取字符时人工将数字0、1、2字母o、l、q、O、Z删除以防止在验证过程中出现这些较难区别的字符。我们采用先创建指定大小的画布,再利用字符产生函数随机产生四位数字和字母组合的字符,然后将整体传递到前端的显示网页上,实现验证码的显示。

4.贴吧式交流模块也是网站一个较为新颖的地方。这一个模块我们首先结合了信息发布模块的功能,用户在查看主题帖的同时可以写上自己的相关认识。我们在数据库中创建了一张表(tb_note)用来收入这些回复贴的内容。content记录回复信息的具体内容,name记录回复信息的用户名称,send记录回复消息的时间,pid记录回复贴属于哪个主贴的内容。pid的使用使所有关于这条主贴信息的回复全部被取出。

三、信息同步及问题分析

PHP在前端網页大多是使用form标签进行数据提交,调用insert函数完成数据的写入。在前端提交的信息一般都是一个数组以post的形式进行传值。以注册用户为例,没有账户的用户可以通过注册用户来实现网站提供的更多功能。注册中需要提交的信息有用户名、密码、专业、班级等信息。我们将提交的信息以一个数组的形式传入数据库。这其中极易出现一些问题。

1.数组中各个数据名不对应。在前端的网页我们需要给每一个传入的数据有一个相应的name,必须严格和数据库中的字段完全一致。其中一个数据的name对应不上整个数组就无法完成写入。出现问题要多进行调试工作,一步一步验证是在哪里出的错误。例如,使用print_r进行数组的打印显示传入数组的名字即对应的数值,使用if函数判断函数在执行过程中哪一步出现了空值。

2.数组无法一一对应。在传输数组中要求前端传输数组的各字段与数据库表的字段完全对应,在注册网页中需要两次重复输入密码,传输的数组多了一个验证的密码的值,没有清理数组的数组密码验证值,数据无法插入到表中。在reg注册函数中设置调试点进行调试。调试过程发现,将密码验证值设为空值和0都无法提交信息,最后借用PHP中的unset函数进行数据的清除。

四、结束语

在本文中主要讨论了使用PHP建设一个信息发布平台所遇到的问题和功能分析,主要涉及到编程语言的选用、环境搭建和功能实现的问题解决。网络平台为在校学生提供了较好的平台,利于大家对信息的综合和处理。

参考文献:

[1]百度百科.Kindeditor.https://baike.baidu.com/item/kindeditor/879933?fr=aladdin.2017-11-13.

[2]吴晨希.基于PHP的MySQL数据库访问研究[J].信息化建设,2016,(07):398.

[3]杨萌.主流动态网页技术PHP、JSP与ASP.NET的比较研究[J].淮北职业技术学院学报,2011,10(01):9-10.

Abstract:Nowadays,the website is still the core of the network platform and most websites are developed using languages including the JSP,the PHP,and ASP.NET. The PHP effectively links up the database with the front end. Meanwhile,the PHP is compatible with some MYSQL functions,making it more convenient. The paper discusses the development of an information distribution website.

Key words:PHP Web construction;information distribution website;problem analysis


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286