图书商城网站的设计与实现
摘 要
随着信息技术的迅猛发展和互联网的普及,电子商务已经渗透到我们生活的方方面面,其中在线购物因其便捷性和高效性受到了广大用户的青睐。图书作为知识的重要载体,其在线销售平台的建设对于推动知识传播和文化交流具有重要意义。因此,开发一个功能完善、用户体验良好的图书商城网站成为了当前的需求。
PHP作为一种成熟、稳定的服务器端脚本语言,具有广泛的应用基础和强大的开发能力。它结合了C、Java、Perl等语言的优点,具有简单易学、运行效率高、跨平台兼容性好等特点,非常适合用于构建Web应用程序。通过PHP,我们可以实现图书的在线展示、购买、支付、评论等一系列功能,为用户提供一站式的购书体验。
在图书商城网站的设计和实现过程中,我们需要考虑的因素众多。首先是网站的整体架构和页面布局,要确保网站结构清晰、导航便捷,同时注重页面的美观和用户体验。其次是功能的实现,包括用户注册登录、图书搜索、购物车管理、订单处理、支付接口对接等,这些功能都需要经过精心设计和实现,以确保网站的稳定性和安全性。最后是性能优化和安全性考虑,包括数据库的优化、代码的压缩和加密、服务器的安全配置等,以提供快速、稳定的服务并保障用户数据的安全。
通过本次PHP图书商城网站的设计与实现,我们旨在打造一个功能全面、性能优良、安全可靠的在线图书销售平台,为广大书友提供便捷、高效的购书体验。同时,通过实践和研究,我们也希望能够为PHP在Web开发领域的应用和推广做出一定的贡献。
关键词:图书商城网站;php;Web应用程序
Design and Implementation of a Book Mall Website
Abstract
With the rapid development of information technology and the popularity of the Internet, e-commerce has penetrated into all aspects of our lives, among which online shopping is favored by the majority of users because of its convenience and efficiency. As an important carrier of knowledge, the construction of online sales platforms for books is of great significance in promoting knowledge dissemination and cultural exchange. Therefore, developing a fully functional and user-friendly book mall website has become a current demand.
PHP, as a mature and stable server-side scripting language, has a wide range of application foundations and powerful development capabilities. It combines the advantages of languages such as C, Java, and Perl, and has the characteristics of simplicity, high running efficiency, and good cross platform compatibility, making it very suitable for building web applications. Through PHP, we can achieve a series of functions such as online display, purchase, payment, and review of books, providing users with a one-stop book buying experience.
There are many factors that we need to consider in the design and implementation process of a book mall website. Firstly, the overall architecture and page layout of the website should ensure a clear structure and convenient navigation, while also emphasizing the aesthetics and user experience of the pages. Next is the implementation of functions, including user registration and login, book search, shopping cart management, order processing, payment interface docking, etc. These functions need to be carefully designed and implemented to ensure the stability and security of the website. Finally, there are performance optimization and security considerations, including database optimization, code compression and encryption, server security configuration, etc., to provide fast and stable services and ensure the security of user data.
Through the design and implementation of the PHP Book Mall website, we aim to create a comprehensive, high-performance, secure and reliable online book sales platform, providing a convenient and efficient book buying experience for readers. Meanwhile, through practice and research, we also hope to make certain contributions to the application and promotion of PHP in the field of web development.
Key words: Book Mall website; PHP; Web applications
第一章 绪 论
1.1研究背景和意义
在当今数字化和信息化的时代,互联网已经深深地渗透到我们生活的每一个角落,特别是在商业领域,电子商务的兴起彻底改变了传统的商业模式。图书作为人类知识的宝库和传承的媒介,其销售方式也受到了这一变革的深刻影响。传统的实体书店虽然有其独特的魅力和价值,但受限于物理空间、库存量、运营成本等因素,难以满足日益增长的图书需求和多样化的购买方式。因此,图书商城网站的设计与实现应运而生,成为连接读者与图书的重要桥梁。
图书商城网站不仅为读者提供了一个24小时不打烊的在线购书平台,还通过智能推荐、用户评价、社区交流等功能,为读者提供了更加个性化、互动化的阅读体验。同时,对于图书出版商和作者来说,图书商城网站也是一个展示和推广作品的重要窗口,能够帮助他们更广泛地触达读者,实现商业价值和文化价值的双重提升。
此外,图书商城网站的设计与实现还具有深远的社会意义。它促进了知识的传播和文化的交流,使得更多人能够便捷地获取到优质图书资源,实现知识的平等共享。同时,它也推动了电子商务和互联网技术的发展,为相关产业的繁荣和创新提供了有力支持。
综上所述,图书商城网站的设计与实现不仅是商业发展的必然趋势,也是文化传承和社会进步的重要体现。通过本次研究和实践,我们期望能够探索出一条既符合市场需求又具有创新性的图书电商发展之路,为推动图书产业的繁荣和发展做出积极贡献。
1.2国内外研究现状
随着互联网的深入发展,图书商城网站已成为全球图书销售的重要渠道之一。在国内外,对于图书商城网站的设计与实现都有着广泛的研究和实践。
国内研究现状:近年来,随着国内电子商务的蓬勃发展和国家对文化产业的重视,国内图书商城网站得到了快速发展。许多大型电商平台如京东、天猫等都设有专门的图书频道,提供丰富的图书资源和便捷的购书服务。同时,一些专业的图书电商平台如当当网、孔夫子旧书网等也凭借其在图书领域的深耕细作,赢得了大量用户的信赖和喜爱。在技术层面,国内图书商城网站的设计和实现也越来越成熟,采用了先进的Web技术等技术,提升了用户体验和运营效率。
国外研究现状:在国外,尤其是欧美地区,图书商城网站的发展同样成熟。像Amazon、Book Depository等电商平台在图书销售领域占据了重要地位,它们不仅拥有庞大的图书库存和完善的物流体系,还通过个性化推荐、用户评价、社区交流等功能,为用户提供了丰富的购书体验。此外,一些新兴的图书电商网站还在尝试将虚拟现实、增强现实等先进技术应用到购书过程中,为用户提供更加沉浸式的阅读体验。
综合来看,无论是国内还是国外,图书商城网站的设计与实现都呈现出蓬勃发展的态势。未来,随着技术的不断进步和市场的不断变化,图书商城网站将会迎来更多的发展机遇和挑战。我们期待通过本次研究与实现,能够推动图书商城网站的发展和创新,为用户提供更加优质、便捷的购书服务。
1.3本文的组织结构
第一章是绪论,本文章的开头部分,对本题目的研究背景意义和国内外研究现状等一些做文字性的描述。
第二章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第三章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第四章是系统的具体实现,介绍系统的各个模块的具体实现。
第五章在前几章的基础上对系统进行测试和运行。
最后对系统进行了认真的总结,以此对未来有一个新的展望。
第二章 系统分析
2.1可行性分析
2.1.1技术可行性
PHP作为一种成熟且广泛应用的服务器端脚本语言,具有强大的开发能力和良好的扩展性,非常适合用于构建图书商城网站。PHP拥有丰富的库和框架支持,可以方便地实现网站的各种功能需求,如用户管理、图书展示、购物车、订单处理等。同时,PHP与各种数据库如MySQL的紧密结合,为网站提供了稳定可靠的数据存储和访问机制。此外,PHP还具有较好的跨平台兼容性,可以在不同的操作系统和服务器上运行,确保了网站的灵活部署和稳定运行。因此,从技术角度来看,使用PHP开发图书商城网站是完全可行的,能够满足项目的需求并为用户提供高效、稳定的服务。
2.1.2经济可行性
经济可行性是衡量一个项目在经济上是否合理和有利可图的关键因素。在考虑PHP图书商城网站的经济可行性时,需要综合考量开发成本、运营成本、潜在收益以及市场需求等多个方面。PHP作为一种开源语言,拥有庞大的开发者社区和丰富的免费资源,这大大降低了开发成本。同时,PHP的运行效率高,对服务器资源的需求相对较低,有助于减少运营成本。此外,随着网络购物的普及和图书市场的稳步增长,图书电商市场具有巨大的潜力。因此,从经济角度来看,开发一个基于PHP的图书商城网站是可行的,具有较高的投资回报率。
2.1.3操作可行性
可操作性主要是对图书商城网站系统设计完成后,用户的使用体验度,对于管理员可以通过系统随时管理相关的数据信息,并且对于管理员、普通用户、这两种用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户进行下单,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
2.2系统功能分析
2.2.1 功能性分析
按照图书商城网站的角色,划分了普通用户管理模块、管理员管理模块这两大部分。
普通用户功能介绍:
注册登录:提供普通用户注册新账户并进行登录的功能,以便能够浏览和购买图书商城的商品。
首页:展示图书商城的最新上架图书、特价促销等信息,让用户快速了解商城的特色和活动。
通知公告:提供商城发布的通知公告,包括促销活动、重要通知等,让用户及时获取商城的重要信息。
留言区:为用户提供留言区功能,让用户可以就商品、服务等进行留言交流,提供用户沟通的平台。
图书商城:展示商城中的图书商品,包括分类浏览、搜索功能等,方便用户浏览和购买所需图书。
我的购物车:提供用户管理购物车中商品的功能,包括添加、删除、修改商品数量等操作。
我的订单:展示用户的订单信息,包括待支付、已支付、已发货等状态的订单,方便用户查看订单状态和进行订单管理。
我的地址:用户可以管理收货地址信息,包括添加、编辑、删除收货地址等操作,方便订单配送。
我的账户:提供用户个人账户信息的管理,包括个人信息、账户设置等功能。
订单配送:展示订单的配送状态和详情,方便用户了解订单的配送进度。
留言区:用户可以查看和回复留言区的消息,进行交流和互动。
收藏:用户可以收藏感兴趣的图书或商品,方便后续查看和购买。
管理员功能介绍:
登录:管理员需要通过用户名和密码进行登录,以获取管理后台的访问权限。
后台首页:提供管理员一个概览系统的主要信息和功能入口,包括系统概况、最新通知、待处理事项等内容,方便管理员了解系统的运行情况。
系统用户:管理员可以管理系统中的用户信息,包括普通用户和其他管理员,进行添加、编辑、删除用户等操作,以确保用户信息的完整性和准确性。
轮播图管理:管理员可以管理系统首页的轮播图设置,包括添加、编辑、删除轮播图等操作,以提升系统的用户体验和视觉效果。
留言管理:管理员可以管理用户在留言区留言的内容,包括查看、回复、删除留言等操作,以保持留言区的秩序和管理交流。
通知公告管理:管理员可以发布、编辑、删除系统的通知公告信息,确保信息及时传达给用户,包括促销活动、重要通知等。
图书商城管理:管理员可以管理商城中的图书商品,包括添加、编辑、删除商品信息等操作,以确保商品信息的准确性和完整性。
分类列表:管理员可以管理商品的分类信息,包括添加、编辑、删除分类等操作,以便用户浏览和搜索商品。
订单列表:管理员可以查看和管理用户的订单信息,包括订单状态、付款情况等,以保证订单的顺利处理和配送。
订单配送:管理员可以管理订单的配送情况,包括查看订单的配送状态、更新配送信息等,以确保订单的及时送达。
2.2.2 非功能性分析
图书商城网站的非功能性需求比如图书商城网站的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:
表2-1图书商城网站非功能需求表
安全性 | 主要指图书商城网站数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指图书商城网站能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响图书商城网站占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着图书商城网站的页面展示内容进行操作,就可以了。 |
可维护性 | 图书商城网站开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3 系统用例分析
通过2.2功能的分析,得出了图书商城网站的用例图:
普通用户角色用例如图2-1所示。
图2-1图书商城网站普通用户角色用例图
后台管理上的管理员是维护整个图书商城网站中所有数据信息的。管理员角色用例如图2-2所示。
2.4系统操作流程
2.4.1用户登录流程
对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图2-3所示。
图2-3登录操作流程图
2.4.2信息添加流程
对于图书商城网站,需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图2-4所示。
图2-4信息添加流程图
2.4.3信息删除流程
不管是哪个用户角色进入到不通的系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除事,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图2-5所示。
图2-5信息删除流程图
第三章 系统设计与实现
3.1系统架构设计
本图书商城网站从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1 图书商城网站架构设计图
表现层(UI):又称UI层,主要完成本图书商城网站的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本图书商城网站时的舒适度。UI的界面设计也要适应不同版本的图书商城网站以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本图书商城网站的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本图书商城网站的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本图书商城网站的数据存储和管理功能。
3.2开发流程设计
图书商城网站的开发对管理模块和系统使用的数据库进行分析,编写代开发,规划和操作是构建信息管理应用程序的必要三步曲,它决定了系统是否能够真正实现预设功能以及是否可以在成功设计后实施。在开发过程中,每个阶段必须严格按照线性顺序进行开发,并且在相应阶段生成的每个工作都可以通过技术进行验证和检查。确保一个阶段完成后是正确的,不会造成下一阶段拖拽现象,使系统完成设计功能后得到保证。
从图书商城网站的成功开发经验来看,上述方法效果最为明显,最大程度地降低了系统开发的复杂性。如图3-2所示。
图3-2开发系统流程图
3.3系统总体设计
图书商城网站总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
图3-3 系统功能结构图
3.4数据库设计
数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。
3.4.1实体ER图
数据库是整个软件编程中最重要的一个步骤,对于数据库问题主要是判定数据库的数量和结构公式的创建。展示系统使用的是Mysql进行对数据库进行管理,进行保证数据的安全性、稳定性等。
概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。而且Mysql数据库是自我保护能力比较强的数据库,下图主要是数据库实体的E-R图如图3-4所示:
图3-4实体的E-R图
3.4.2数据表
我们可以根据数据结构的详细分析要求,我们根据输入和输出数据量的要求进行分析,确定什么表表,结构之间的关系,我们可以验证,调整和完善,查询和浏览过程,可以实现数据库,以使用户对数据和功能有更多要求。
基于系统使用的数据库管理系统的特点,对数据库的概念模型进行了转换和构建。但是,这个系统只需要充分考虑图书商城网站的功能,而且组织比较清晰。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | address_id | int | 10 | 0 | N | Y | 收货地址: | |
2 | name | varchar | 32 | 0 | Y | N | 姓名: | |
3 | phone | varchar | 13 | 0 | Y | N | 手机: | |
4 | postcode | varchar | 8 | 0 | Y | N | 邮编: | |
5 | address | varchar | 255 | 0 | N | N | 地址: | |
6 | user_id | mediumint | 8 | 0 | N | N | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | default | bit | 1 | 0 | N | N | 0 | 默认判断 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | book_mall_id | int | 10 | 0 | N | Y | 图书商城ID | |
2 | book_authors | varchar | 64 | 0 | Y | N | 图书作者 | |
3 | press | varchar | 64 | 0 | Y | N | 出版社 | |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
7 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
8 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
9 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
10 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
11 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
12 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
13 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
14 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
15 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
16 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
17 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
18 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | cart_id | int | 10 | 0 | N | Y | 购物车ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | img | varchar | 255 | 0 | N | N | 0 | 图片: |
4 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | state | int | 10 | 0 | N | N | 0 | 状态:使用中,已失效 |
8 | price | double | 9 | 2 | N | N | 0.00 | 单价: |
9 | price_ago | double | 9 | 2 | N | N | 0.00 | 原价: |
10 | price_count | double | 11 | 2 | N | N | 0.00 | 总价: |
11 | num | int | 10 | 0 | N | N | 1 | 数量: |
12 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
13 | type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
14 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | goods_id | mediumint | 8 | 0 | N | Y | 产品id:[0,8388607] | |
2 | title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品和html的<title>标签中 | |
3 | img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
5 | price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
6 | price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
7 | sales | int | 10 | 0 | N | N | 0 | 销量:[0,1000000000] |
8 | inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
9 | type | varchar | 64 | 0 | N | N | 商品分类: | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击量:[0,1000000000]访问这篇产品的人次 |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
12 | img_1 | text | 65535 | 0 | Y | N | 主图1: | |
13 | img_2 | text | 65535 | 0 | Y | N | 主图2: | |
14 | img_3 | text | 65535 | 0 | Y | N | 主图3: | |
15 | img_4 | text | 65535 | 0 | Y | N | 主图4: | |
16 | img_5 | text | 65535 | 0 | Y | N | 主图5: | |
17 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
19 | customize_field | text | 65535 | 0 | Y | N | 自定义字段 | |
20 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
21 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
22 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
23 | user_id | int | 10 | 0 | Y | N | 0 | 添加人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | int | 10 | 0 | N | Y | 商品分类ID: | |
2 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
3 | name | varchar | 255 | 0 | Y | N | 商品名称: | |
4 | desc | varchar | 255 | 0 | Y | N | 描述: | |
5 | icon | varchar | 255 | 0 | Y | N | 图标: | |
6 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
7 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | logistics_delivery_id | int | 10 | 0 | N | Y | 物流配送ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
5 | total_transaction_amount | double | 11 | 2 | Y | N | 0.00 | 交易总额 |
6 | the_date_of_issuance | date | 10 | 0 | Y | N | 发货日期 | |
7 | delivery_number | varchar | 30 | 0 | Y | N | 配送订单 | |
8 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
9 | shipping_address | varchar | 64 | 0 | Y | N | 收货地址 | |
10 | delivery_status | varchar | 64 | 0 | Y | N | 配送状态 | |
11 | signing_status | varchar | 64 | 0 | Y | N | 签收状态 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | contact_name | varchar | 255 | 0 | Y | N | 联系人名字 | |
14 | merchant_id | int | 10 | 0 | Y | N | 商家id | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | order_id | int | 10 | 0 | N | Y | 订单ID: | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号: | |
3 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
4 | title | varchar | 32 | 0 | Y | N | 商品标题: | |
5 | img | varchar | 255 | 0 | Y | N | 商品图片: | |
6 | price | double | 10 | 2 | N | N | 0.00 | 价格: |
7 | price_ago | double | 10 | 2 | N | N | 0.00 | 原价: |
8 | num | int | 10 | 0 | N | N | 1 | 数量: |
9 | price_count | double | 8 | 2 | N | N | 0.00 | 总价: |
10 | norms | varchar | 255 | 0 | Y | N | 规格: | |
11 | type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
12 | contact_name | varchar | 32 | 0 | Y | N | 联系人姓名: | |
13 | contact_email | varchar | 125 | 0 | Y | N | 联系人邮箱: | |
14 | contact_phone | varchar | 11 | 0 | Y | N | 联系人手机: | |
15 | contact_address | varchar | 255 | 0 | Y | N | 收件地址: | |
16 | postal_code | varchar | 9 | 0 | Y | N | 邮政编码: | |
17 | user_id | int | 10 | 0 | N | N | 0 | 买家ID: |
18 | merchant_id | mediumint | 8 | 0 | N | N | 0 | 商家ID: |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
21 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
22 | state | varchar | 16 | 0 | N | N | 待付款 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
23 | remark | text | 65535 | 0 | Y | N | 订单备注 | |
24 | delivery_state | varchar | 16 | 0 | Y | N | 未配送 | 发货状态:未配送,已配送 |
25 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
5 | user_address | varchar | 64 | 0 | Y | N | 用户地址 | |
6 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
图书商城网站的详细设计与实现主要是根据前面的图书商城网站的需求分析和图书商城网站的总体设计来设计页面并实现业务逻辑。主要从图书商城网站界面实现、业务逻辑实现这两部分进行介绍。
4.1普通用户功能模块
4.1.1 前台首页界面
当进入图书商城网站的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是图书商城,其主界面展示如下图所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
图书商城网站的游客和用户时可以进行注册登录,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。普通用户注册界面展示如下图所示。
图4-2注册界面图
注册的关键代码如下:
public function register()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->register($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function register($request=[],$table_name = ''){
$username = $request['username'];
$bol = $this->where(['username'=>$username])->find();
if (!$bol){
$result = self::allowField(true)->save($request);
if ($result) {
return ['result' => 1];
} else {
return ['error' => ['code' => 3000, 'message' => '注册失败']];
}
}else{
return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];
}
}
4.1.3 用户登录界面
图书商城网站中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到图书商城网站的首页中;否则将会提示相应错误信息,用户登录界面如下图所示。
图4-3用户登录界面图
登录的关键代码如下:
public function login()
{
if (Request::isPost()) {
$request = Request::param();
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->login($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function login($request=[],$table_name = ''){
$username = $request['username'];
$password = $request['password'];
$bol = $this->where(['username'=>$username])->find();
if ($bol){
$password = md5($password);
if ($request['password']==$bol['password']) {
//添加token信息
$access_token['create_time'] = date('Y-m-d H:i:s');
$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
// $access_token['info'] = $bol;
$access_token['token'] = md5(date('Y-m-d H:i:s'));
$bol_token = Db::name('AccessToken')->insert($access_token);
if ($bol_token){
$data['obj'] = $bol;
$data['obj']['token'] = $access_token['token'];
return ['result' => $data];
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];
}
} else {
return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];
}
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];
}
}
4.1.4我的账户界面
当用户点击右上角点击“我的账户”可以对个人的资料、登录系统的密码的信息进行设置管理,我的账户界面如下图所示。
图4-4我的账户界面图
4.1.5 通知公告界面
当用户点击图书商城网站中导航栏上的“通知公告”后将会进入到该“通知公告”的界面,然后选择想要看的公告,点击进入到详细界面进行查看。通知公告界面如下图所示。
图4-5通知公告界面图
4.1.6 图书商城界面
当用户点击“图书商城”这一菜单按钮,会显示管理员在后台发布的所有的图书信息,支持通过关键词对图书进行搜索,选择需要的图书信息点击可以进入到图书信息详细的介绍界面,同时可以进行购买,图书商城界面如下图所示。
图4-6图书商城详情界面图
当用户浏览到心仪的商品时,可以将商品添加至购物车内,查看购物车列表,修改或者删除购物车。我的购物车界面如下图所示。
图4-7我的购物车界面图
用户可以查看订单的详细信息,包括订单编号、下单时间、订单备注等,可以对订单进行支付。我的订单界面如下图所示。
图4-8我的订单界面图
用户输入收货人、手机号及详细地址可以对收货地址进行添加。我的地址界面如下图所示。
图4-9我的地址界面图
4.2管理员功能模块
4.2.1系统用户管理界面
管理员点击“系统用户”这一菜单会显示管理员、普通用户这两个子菜单,管理员可以对这两个角色的信息进行增删改查操作。界面如下图所示。
图4-10系统用户管理界面图
添加的关键代码如下:
public function add()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
if($this->table == 'user'){
$request['password'] = md5($request['password']);
}
$res = $this->add_before($request, $this->table, $this->table_id);
if($res['code'] == 200){
$result = $this->model->add($request, $this->table, $this->table_id);
$this->add_after($this->table);
$data = $result;
}else{
$data['error'] = $res;
}
}
} else {
$data['error']['code'] = 30000;
$data['error']['message'] = "field的值不能为空!";
}
return json_encode($data);
}
删除的关键代码如下:
public function del()
{
$request = Request::param();
$result = $this->model->del_data($request, $this->table, $this->table_id);
$data = $result;
return json_encode($data);
}
管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。轮播图管理界面如下图所示。
图4-11 系统管理界面图
轮播图上传的关键代码如下:
public function upload()
{
$month = date('Ym', time());
$data = 'file';
$path = 'upload/file/' . $month . "/";//上传文件保存位置
$allow_ext = explode(",", "jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP");
if ($_FILES) {
$file = $_FILES[$data];
$rst = [];
if (!empty($file['name'])) {
$file_type = explode('.', $file['name']);
$ext = end($file_type); //获取文件的格式
$ext = strtolower($ext);
if (!in_array($ext, $allow_ext)) {
$rst['error']['code'] = 30000;
$rst['message'] = '只能上传jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP类型文件';
} else {
if (!is_dir($path))
{
mkdir($path, 0777, true);
};
$name = date('YmdHis') . '_' . rand(10000, 99999) . '.' . $ext;
$save_rst = move_uploaded_file($file['tmp_name'], $path . $name);
if ($save_rst !== false) {
$rst['result']['url'] = 'http://'.$_SERVER['HTTP_HOST'].'/'.$path . $name;
} else {
$rst['error']['code'] = 30000;
$rst['error']['message'] = '文件上传失败';
}
}
} else {
$rst['error']['code'] = 30000;
$rst['error']['message'] = '未选择文件';
}
} else {
$rst['error']['code'] = 30000;
$rst['error']['message'] = '未获取到文件';
}
return json_encode($rst);
}
管理员可以管理用户在留言区留言的内容,包括查看、回复、删除留言等操作,以保持留言区的秩序和管理交流。留言管理界面如下图所示。
图4-12留言管理界面图
4.2.4分类列表界面
管理员可以管理商品的分类信息,包括添加、编辑、删除分类等操作,以便用户浏览和搜索商品。分类列表界面如下图所示。
图4-13分类列表界面图
4.2.5订单列表界面
管理员可以查看和管理用户的订单信息,包括订单状态、付款情况等,以保证订单的顺利处理和配送。界面如下图所示。
图4-14 订单列表界面图
管理员可以管理订单的配送情况,包括查看订单的配送状态、更新配送信息等,以确保订单的及时送达。界面如下图所示。
图4-15 订单配送界面图
第五章 系统的测试
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些错误,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
系统测试包括:用户登录功能测试、图书商城查看功能测试、添加分类列表、通知公告搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
图书商城查看功能测试:
表5-2 图书商城查看功能测试表
用例名称 | 图书商城查看 |
目的 | 测试图书商城查看功能 |
前提 | 用户登录 |
测试流程 | 点击图书商城列表 |
预期结果 | 可以查看到所有图书商城 |
实际结果 | 实际结果与预期结果一致 |
管理员添加分类列表界面测试:
表5-3 管理员添加分类列表界面测试表
用例名称 | 分类列表发布测试用例 |
目的 | 测试分类列表发布功能 |
前提 | 用户正常登录情况下 |
测试流程 | 1)点击分类列表管理,然后点击添加后并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的分类列表 |
实际结果 | 实际结果与预期结果一致 |
通知公告搜索功能测试:
表5-4通知公告搜索功能测试表
用例名称 | 通知公告搜索测试 |
目的 | 测试通知公告搜索功能 |
前提 | 无 |
测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 | 页面显示包含有搜索关键字的通知公告 |
实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写图书商城网站的测试用例,已经检测完毕用户登录功能测试、图书商城查看功能测试、添加分类列表、通知公告搜索、密码修改功能测试,通过这些测试为图书商城网站的后期推广运营提供了强力的技术支撑。
结 论
在这个设计中,我花了大量的时间去理解系统开发中使用的知识,经过这段时间的努力工作最终完成了系统设计。通过这一阶段的学习,我发现了自己的不足,充分掌握了必要的应用技能,进一步的学习使我充实了自己的知识基础,完成了这个艰巨的任务。当遇到问题时,我很及时的寻求老师的帮助,通过专业的网站和论坛来解决,他们的帮助让我一步一步的成功克服了困难的问题。系统设计过程不容易,你需要不断充实自己,有勇气克服困难。系统开发的一些功能还不完善,需要继续改善后,通过用户体验来修改设计完美的系统,让用户得到更好的体验,我觉得很高兴,因为这是我第一次通过自己的努力实现这个系统,但绝不是我的最后一个,在未来我将努力实现更多的优秀的系统。
在一些编程语言的系统实现中,对词汇表不太熟悉,导致了开发的困难,但是我通过了合适的字典软件来解决这个大问题。由此,我学会了自己的英语缺陷。在那之后,我不断地提高自己的英语知识,这样我就不会有任何未来的工作和生活。毕业设计过程我感觉很深刻,从一开始就不熟悉开发技术,一步一步的使用,接触到文献和信息,不难理解,系统是一次又一次的实现,系统本身对于在线学习是有用的。我从这个设计中获益良多,论文的编写需要有自己的意愿去实现一点,学习生活中所有的问题的勇气,学习的过程就是学习的过程。毕业设计,我学会了将理论知识应用于实践。让我知道该怎么做,我们必须认真对待。勇于克服困难,相信未来,我会做得更好。
参考文献
[1]张曰花,陈红娟,刘婷婷.基于HTML5+PHP技术的化妆品网站设计与实现[J].现代信息科技,2023,7(24):33-36+40.DOI:10.19850/j.cnki.2096-4706.2023.24.008.
[2]邓诗韬.基于JavaScript和PHP技术的游戏资源分享网站[J].电脑编程技巧与维护,2023,(09):6-8.DOI:10.16184/j.cnki.comprg.2023.09.038.
[3]Roda E ,Luca D F ,Priori C E , et al.The Designer Drug αPHP Affected Cell Proliferation and Triggered Deathly Mechanisms in Murine Neural Stem/Progenitor Cells[J].Biology,2023,12(9):
[4]Zhang L ,Li P ,Zhang T .Exploration of Learning-Centered Teaching Reform: Taking PHP Framework Technology as an Example[J].Advances in Educational Technology and Psychology,2023,7(10):
[5]Zhao C ,Tu T ,Wang C , et al.VulPathsFinder: A Static Method for Finding Vulnerable Paths in PHP Applications Based on CPG[J].Applied Sciences,2023,13(16):
[6]Ophir O ,Levy G ,Bar E , et al.Deletion ofGtf2ivia Systemic Administration of AAV-PHP.eB Virus Increases Social Behavior in a Mouse Model of a Neurodevelopmental Disorder[J].Biomedicines,2023,11(8):
[7]Nadia F ,B J H ,S L B , et al.Heparin reversal with protamine sulfate after Percutaneous Hepatic Perfusion (PHP): is less more?[J].Cancer imaging : the official publication of the International Cancer Imaging Society,2023,23(1):68-68.
[8]刘艳春,张宗霞.基于PHP的动态网站设计与实现[J].集成电路应用,2023,40(07):238-239.DOI:10.19339/j.issn.1674-2583.2023.07.108.
[9]彭一枫.基于PHP的大学生选修课网站的设计与实现[J].自动化应用,2023,64(10):229-232.
[10]赵婉彤.基于PHP与MySQL的动态网站设计与实现[J].电脑编程技巧与维护,2022,(08):103-105+109.DOI:10.16184/j.cnki.comprg.2022.08.022.
[11]蔡旺.基于个性化推荐的图书商城的研究与实现[D].杭州电子科技大学,2022.DOI:10.27075/d.cnki.ghzdc.2022.001245.
[12]马涛.基于PHP技术的视频点播网站设计分析[J].信息记录材料,2021,22(11):190-191.DOI:10.16009/j.cnki.cn13-1295/tq.2021.11.089.
[13]王亚利.基于PHP的移动端网络商城系统设计开发研究[J].济源职业技术学院学报,2021,20(02):66-71.
[14]牛希镭.基于JavaWeb的在线图书商城设计与实现[J].电子测试,2021,(01):73-75.DOI:10.16520/j.cnki.1000-8519.2021.01.025.
[15]朱莹芳.基于PHP和MySQL的网上生鲜商城的开发[J].江苏工程职业技术学院学报,2020,20(04):11-14.DOI:10.19315/j.issn.2096-0425.2020.04.003.
[16]刘倩倩.基于PHP和MySQL的网站设计与实现[J].中小企业管理与科技(下旬刊),2020,(10):162-163.
[17]邬洪波.基于PHP技术的视频点播网站设计[J].集成电路应用,2020,37(04):68-69.DOI:10.19339/j.issn.1674-2583.2020.04.023.
[18]陈刚.基于云知识库的图书荐购系统[J].大学图书情报学刊,2020,38(02):113-116+123.
[19]杨登,王赛.基于PHP的校园招聘网站的分析与设计[J].信息与电脑(理论版),2019,31(20):73-76.
[20]孔德华,网上图书商城系统V1.0.湖北省,武汉东湖学院,2019-01-07.
致 谢
图书商城网站的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。
图书商城网站的设计可以顺利完成,首先,我要感谢我的指导老师,他在我遇到设计问题时及时帮助了我,并在我对设计感到困惑时给了我充分的指导。在他的帮助下,我可以完成高质量的毕业设计。在图书商城网站的设计和开发中,指导老师提出了许多实用的意见和建议,并为我提供了大量相关的研究资料,使我对设计有了更深入的了解。只有在老师的指导下,才能在毕业设计中取得成功。在此,我要向指导老师表示深深的谢意。
在此,我还要感谢我的同学们,他们为我的设计提供了许多参考意见,并与我讨论了设计中的问题,从而使我的设计一步一步走向成熟。
请关注点赞+私信博主,免费领取项目源码