您好,欢迎访问三七文档
浙江万里学院集中实践课程报告课程名称:程序设计综合训练实践方向:PHP开发专业班级:计算机专业2016级164班姓名:林文辉学号:2016011147起止日期:2018年7月2日-2018年7月12日一、背景介绍项目名称:PHP用户信息管理系统面向群体:个人用户、小型企业、小型团队开发环境:PHP结合MYSQL数据库背景介绍:随着信息化时代的不断推进,人们不断意识到海量的信息实际上也是一种重要资源,如何将这些信息进行利用,信息管理应运而生。信息管理诞生的目的就是为了提高信息利用效率、最大限度地实现信息效用价值,如今信息遍布社会的方方面面,成为社会发展的中坚力量,谁把握了信息谁就把握了时代,无论是企业管理者,还是团队领导者,都需要重视信息的把握及信息的管理。而信息的管理是一件不太容易的事情,为了让非专业的人也能轻松的管理信息,于是便有了信息管理系统,它由多个学科交叉,应用多种技术,像计算机技术、数据库技术、通信技术等等。它使得信息管理更加高效,也让信息管理的同时能够事实的共享,便于协同工作。本项目就是一个信息管理系统,虽然只是用户信息管理系统,加以修改也可以很轻松的调整为其他信息的管理系统。二、需求分析分析:该项目是由PHP结合MYSQL开发的小型用户信息管理系统。MYSQL需要能够与PHP进行链接,在链接的基础上,系统应当能够获取到数据库中的相关信息,并且直观简洁的形式呈现在前端界面提供给使用者。与此同时,应当提供一定的编辑功能,使用者可以通过前端的交互操作来对数据库的内容进行增加删除修改,并且这个过程应当是简单明了的,点击网页上的按钮即可完成实现对应的功能。另外,需配有简易的后台登录功能,即数据库后台存放管理员信息,使用者需要填写正确的管理员账号及密码方可进入信息管理系统,在未登录的情况下,对操作进行拦截并跳转到登录界面。最后,项目上传至服务器后,需要能够切实可用,而且使用者可以随时随地,方便快捷的进行管理用户信息数据,并支持多端同步。根据上述分析,总结本项目需要具备如下功能:·管理员账号的登录与退出·管理员账号、密码的验证·当且仅当管理员登录时方可进入数据管理系统·可以查看数据库的用户信息表,具备简易分页功能·可以对数据库用户信息表的内容进行增加·可以对数据库用户信息表的内容进行删除··可以对数据库用户信息表的内容进行修改·可视化的UI界面,对应的操作都至少具备按钮、超链接等交互方式三、概要设计PHP方面:【用户信息模块】此模块又分为四部分:用户信息查询:该部分暂时只具备分页查询,按ID依次排序展示到前端界面,不具备按条件/索引查询等其他功能,在链接数据库的基础上,对数据库总记录数进行统计,并设置对应变量(每页显示条数、偏移量等),通过数学逻辑运算,对变量进行整合可以实现分页查询。用户信息添加:单独写一个前端界面提供该功能,利用html的submit表单提交,method=“post”可以实现将用户前端填写的数据传到后台,结合数据库链接操作,配置对应的sql语句即可实现该部分功能。用户信息删除:删除操作比较简单,获取需要删除记录的id,在数据库中删除对应id的数据即可实现。用户信息修改:与添加操作基本一致,也是单独写一个前端界面提供该功能,也是利用html的submit表单提交,method=“post”结合数据库链接实现的,不同之处就是对应的sql语句不同。【登录模块】数据库方面:由于项目体量问题,初步设定为两张表。第一张表为user表,主要负责存放用户信息,以便于提供给php进行增删改查的相关操作。表中应至少具备编号、姓名、性别以及其他常用信息等若干个字段信息。第二张表为admin_user表,主要负责存放管理员账号信息,提供给php登录时进行匹配判断输入的账号密码是否正确。表中应至少具备,编号、账号、密码三个字段信息。四、详细设计PHP目录结构及对应功能:└─project(项目工程文件根目录,压缩包内wl_project.sql为数据库文件)│config.php(项目中一些常量,主要是一些数据库的配置信息,单独处理在该文件,方便init.php调用)│index.php(整个项目的主页本身没有什么内容,调用menu.php显示一个导航栏)│init.php(项目的初始化文件,该文件通过拼接的方式定义了两个常用的地址类常量ADMIN_URL和ADMIN_PATH在后面涉及地址跳转等操作的文件中经常性使用)│login.php(登录界面样式如下图)│logindo.php(登录的逻辑在这里实现,主要是与数据库amdin_user表中的账号密码字段进行匹配,分开匹配,先判断账号,密码在之后判断,同时SESSION数组实现了对登录状态的存储,配合redirect可以实现非登录状态自动跳转到登录界面)│logout.php(登出,实现比较简单,只需要将SESSION数组对应存储登录状态的部分清除即可)│├─imgs(子目录,项目暂时没有用到)├─include(项目的一个子目录,主要存放一些经常被调用的文件,函数、导航、跳转页等等..)│function.php(项目的一些常用函数在这个文件夹内,包括将测试常用的var_dump定义为函数、以及跳转用的redirect、还有所有对数据库的增加、删除、修改、查询都在此处统一为了函数,方便其他文件调用)│menu.php(导航条,样式如项目首页,可以跳转到用户管理和用户添加界面)│page.php(分页查询有关的一些的html样式,例如提示当前页码记录数,以及上一页、下一页等标签都是在这里写的)│redirect.php(通过html的refresh实现的界面跳转,此文件下还定义了一些css样式,对其他文件的某些标签样式有一定影响)│├─public(子目录,项目暂时没有用到)└─user(子目录,用户信息管理系统的主要界面和主要功能)action.php(调用function.php实际调用的是init.php,由于init.php调用了function.php故不用重复调用,并提供对应的sql语句来具体实现增删改查的操作)add.php(用户信息增加界面的前端html代码)edit.php(用户编辑增加界面的前端html代码)index.php(用户信息管理系统的主界面样式如图)数据库表结构admin_user表字段名字段类型长度允许空值Idint10×主键namevarchar255√passwordvarchar255√user表字段名字段类型长度允许空值idint10×主键namevarchar255√sexvarchar255√addressvarchar255√hobbyvarchar255√五、总结我选择的方向是PHP开发,本次实训的形式是老师带领我们做一个PHP项目,其实在此之前的专业课上的数据库课程大作业和这次实训比较类似,只不过前者是用Java+Mysql,后者是用PHP+Mysql,虽然使用的开发环境有所不同,但是万变不离其宗,其实仔细想想,业务逻辑上还是有很多相似之处的。加上这次实训考虑到我们的基础和时间问题,项目复杂度还是不高的,所以整体下来,有一定的经验,再加上难度适宜,所以给我的感觉还是比较良好的。感觉自己也切实学到很多东西,在项目的结构构建方面尤为明显,万事开头难,一个好的项目结构,能够帮助自己厘清思路,项目的构建与完善也会更顺利。老师讲的很细,之前几天的基础课也让我对PHP的语法、规范有了一定的了解,而后由浅入深的带我们做简单项目,也让我对PHP的应用有了更充分的的认识。做项目的过程中也不乏遇到很多问题,有语法错误,也有粗心落下符号字母的错误,也有逻辑上理解不到位引起的一些错误,多半都在摸索中解决了,剩下的也在老师的帮助之下解决了,最终顺利的完成了整个项目的构建,并且还余有一定的时间,帮助了一下其他没有完成的同班同学,感觉自己对整个流程的感悟又深刻了不少。最后,这次实训还是非常有收获的,和平时上课的形式说像也像,都是老师先讲基础,然后老师带我们完成一定的任务(这里是项目),说不像也有点不像,课上很少这样有目的性的,系统性的去统一完成一件事情,相信这样的经历会为以后真正自己做项目增添不少助力。
本文标题:PHP实训实践报告
链接地址:https://www.777doc.com/doc-6186104 .html