网上鲜花订购系统1.docx
- 文档编号:7437073
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:31
- 大小:462.35KB
网上鲜花订购系统1.docx
《网上鲜花订购系统1.docx》由会员分享,可在线阅读,更多相关《网上鲜花订购系统1.docx(31页珍藏版)》请在冰豆网上搜索。
网上鲜花订购系统1
毕业论文(设计)
题目基于B/S的网上鲜花订购系统
学生姓名
学号
院系电子与信息工程
专业信息工程
指导教师
二OO年月日
目录
一、绪论1
1.1课题研究的背景及意义1
1.2B/S与V/S的比较2
1.3开发组件的选择4
1.4创建DreamweaverPHP站点6
二、系统分析与总体设计7
2.1系统功能设计7
2.2系统流程分析7
2.3系统结构设计8
三、数据库设计9
3.1PHP连接MySQL数据库9
3.2数据库的分析10
3.3数据库的设计10
四、前台模块设计14
4.1设计分析14
4.2网站首页模块15
4.3商品列表模块16
4.4个人信息模块16
4.5网站论坛模块17
4.6购物车模块18
五、后台模块设计19
5.1设计分析19
5.2后台登录管理模块19
5.3商品管理模块20
5.4用户管理模块21
5.5订单管理模块21
5.6信息管理22
六、总结23
基于B/S的网上鲜花订购系统
摘要:
互联网行业迅猛发展,电子商务越来越成熟,近年来,网上商城也应运而生,通过网上购物,可以给人们的生活带来很多便利。
随着Internet的快速发展,各种类型的网站也不断涌现,ASP、JSP、PHP等Web技术逐渐成为网站开发技术的主流。
在各种Web开发技术中,Apache+MySQL+PHP组合以其开源性和跨平台性而著称,被开发人员誉为黄金组合。
本章将详细介绍如何创建一个功能齐全的网上商店系统——网上鲜花订购系统,该系统即采用Apache+PHP+MySQL这个黄金组合,将实现用户浏览鲜花商品及订购网上鲜花,以及网上商城鲜花和订单管理等电子商务功能。
关键词:
鲜花订购;PHP;MySQL
一、绪论
1.1课题研究的背景及意义
随着企业之间电子商务的兴起,电子商务成为一个很热门的话题。
而网上购物已经成为当今社会一种比较流行的购物方式,也取得了巨大的成功。
在美、日等信息化程度较高的国家和地区,网络商店发展迅猛,美国的世界超一流的零售商,如沃尔玛凯马特、家庭仓储、克罗格、J.C培尼等纷纷跻身于前列,网络经商的行情调查表明:
美国的家庭已越来越习惯于在家中从网上购物。
在我国,网上购物从无到有也不过短短几年时间,我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。
根据CNNIC的统计结果,截止2004年1月,中国有互联网用户7950万人,而又有40.7%以上的网民在过去的一年里有过网上购物的经历,这就说明中国有网上购物的用户达3235.7万人,并且这一数字还在以17%左右的速度增长,网上购物的方式正日趋被大家所接受,目前国内比较知名的购物网站有当当网、易趣网、卓越网等。
电子商务网站是否符合客户需求则是其一项重要指标,国外网站在可用性方面的研究处于比较成熟的阶段,成果更是值得借鉴,而我国对电子商务网站的可用性研究目前还停留在发展阶段,实用性的研究也较少,故还有待于深化。
理论上,电子商务的范围很大,概括起来主要有两类,一类是B2B,另一类是B2C。
B2B的全称是BusinesstoBusiness,主要面向的是企业与企业,或是大型的商业买卖而提供的交易平台,公司企业可以通过这个平台来进行采购、销售和结算等,可降低成本,提高效率。
但这种平台对性能、安全和服务要求比较高。
B2C的全称是BusinesstoCustomer,它直接面向终端的大众消费者,其经营也有两种形式:
一种是类似大型超市,里面提供大量的货物商品,消费者可以浏览挑选商品,直接在线结账付款,如同前面提到的当当网上书店、卓越网上商城等等,都是采用B2C这种形式;另一种是类似城市里的大商场,如华联等,在这个商城里面有许多柜台或专柜,都在卖自己的东西,消费者可以根据自己的需求直接到相应的柜台上购买商品,然后去商城服务台结账,在电子商城中是按类别或经营范围来划分的,如新浪网的电子商城,就是采用B2C中的这种形式。
不管是B2B还是B2C,其基本模式是相同的,即浏览查看商品,然后下订单,双方确认后付款交货,完成交易。
电子商城类的网站由于经常涉及输入商品信息,所以有必要开发一套CMS(ContentManagerSystem)系统,即信息发布系统。
CMS系统是由后台人工输入信息,然后系统自动将信息整理保存进数据库,而用户在前台浏览到得均为系统自动生成的网页,所有的过程都无须手工制作HTML网页而自动进行信息发布及管理。
CMS系统又分为两大类:
第一类是将内容生成静态网页,如一些新闻站点;第二类是从数据库实时读取,本系统的实现属于第二类。
经过大量的市场调查与需求分析,可以总结出网上花店管理系统的用户具有频繁地登记、修改、删除商品信息,频繁地浏览所需商品信息等特点。
针对用户的特点,网上花店管理系统的主要目标就是通过处理花店的鲜花库存和网上销售活动,使在线顾客能轻松地找到所需要的商品信息,以此来吸引更多的顾客。
同时,也可为花店会员提供一个功能全面、使用方便的购物环境,以替代传统的手工劳动,利用先进的技术为客户提供一些更为方便实用的功能。
一般网上商店系统设计的难点和重点就在购物车和订单管理模块,另外,在线支付功能也是点子商务网站发展的瓶颈,也是此类系统实现的难点。
1.2B/S与C/S的比较
C/S结构,即Client/Server(客户机/服务器)结构。
此结构把数据库内容放在远程的服务器上,而在客户机上安装相应软件。
通过任务合理分配到Client端和Server端,降低系统的通信开销,可以充分利用两端硬件环境的优势。
服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。
客户端需要安装专用的客户端软件。
而B/S结构,即Browser/Server(浏览器/服务器)结构。
此结构是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户仅需要安装浏览器,用户界面完全通过WWW浏览器实现;一部分事物逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成3层结构,如图
(1)所示。
客户机
表示层(接收用户输入返回至服务器;接收服务器信息显示给用户)
应用服务器
业务逻辑层(执行业务逻辑,向数据库发送请求)
数据库服务器
数据存储层(进行数据处理)
图
(1)3层结构示意图
有一些网络技术员认为,B/S结构优于C/S结构,但是其实B/S结构和C/S结构各有优缺点,而不能简单地认为哪一种是更优化的。
C/S结构的一个缺点就是要求客户端安装相应的软件,当业务逻辑频繁更改时,就要求客户端的软件时常更新才能够使用,工作量非常大。
但是C/S结构充分利用了客户端计算机的处理能力,在一定程度上减轻了服务器的计算压力。
B/S结构由于只需要客户端使用浏览器访问即可完成相应的工作,部署相对C/S结构,要简单得多,业务逻辑和系统更新也不需要客户端安装额外的软件。
但是这种结构相对服务器的压力来说,由于更多的运算在服务器上进行,所以对服务器的压力是比较大的;而且相对C/S结构来说,安全性要差些。
在实际应用中,根据环境要求的不同,通常B/S结构和C/S结构各有应用(例如,微软的MCSE、印度NIIT等的远程考试系统都是基于C/S结构的,而某些中国移动营业厅的服务系统则是基于B/S结构的),在某些情况下,二者还可能结合起来使用。
1.3开发组件的选择
PHP开发组件包括Apache、PHP和MySQL,其中Apache是Web服务器软件,PHP是服务器端脚本编程语言,MySQL则是数据库服务器软件。
PHP只有与Apache和MySQL组合使用,其优势才能最大限度地发挥出来。
1.3.1PHP脚本语言
PHP(HypertextPreprocessor)是一种被广泛使用的开放源代码多用途脚本语言,可以将PHP脚本代码嵌入到HTML文档中,用来创建运行于服务器端的动态网页。
PHP具有以下主要特点:
(1)开放性源代码。
PHP的原始代码完全公开,这种开源策略使无数业内人士欢欣鼓舞。
新函数库的不断加入,使得PHP具有强大的更新能力,从而在Win32或UNIX平台上拥有更多的新功能。
PHP是完全免费的,所有源代码和文档都可以免费下载、复制、编译、打印和分发。
(2)运行于服务器端。
与ASP、JSP一样,PHP脚本也是在Web服务器端运行的。
PHP脚本可以嵌入到HTML页面中,并由Web服务器识别出来交给PHP脚本引擎解释执行,以完成一定的功能,执行结果以HTML代码形式返回客户端浏览器。
PHP脚本运行于服务器端,在客户端可以看到PHP脚本执行的结果,但看不到PHP脚本代码本身。
(3)跨平台性。
PHP脚本可以在Windows、Macintosh、UNIX和Linux等操作系统上运行,而且可以与Apache、IIS等主流Web服务器一起使用。
更为难能可贵的是,PHP代码不需要做任何修改即可在不同的Web服务器平台之间移植,而这也正是PHP能大行其道、备受人们青睐的重要原因之一。
(4)语言简单易学。
PHP的语法利用了JAVA、C和Perl并汲取了这些语言的精华,PHP语言非常容易学而且比较容易上手,只要了解一些编程的基本知识,就可以开始PHP编程之旅。
PHP语言的主要目标是用于快速编写动态网页。
(5)执行效率高。
与其他解释性语言相比,PHP消耗的系统资源相对较少,当使用Apache作为Web服务器并将PHP作为该服务器的一部分时,不需要调用外部二进制程序即可运行PHP脚本,在Web服务器上解释执行PHP脚本不会增加额外的负担。
(6)图像处理功能。
通过在PHP中调用GD库中的图像函数,可以很方便地创建和处理Web中最为流行的GIF、PNG和JPEG等格式的图像,并直接将图像流输出到浏览器。
GD是一个用于动态生成图像的开源代码库,GD库文件包含在PHP安装包中。
(7)数据库访问功能。
通过PHP可以访问多种数据库格式,包括MySQL、Oracle、SQLServer、Informix、Sybase以及通用的ODBC等。
如果要使用Dreamweaver8来开发PHP动态网站,PHP语言与MySQL数据库更是一对绝佳的搭档。
(8)面向对象编程。
PHP支持面向对象编程,提供了类和对象,支持构造函数和抽象类等。
PHP5.0于2004年7月13日正式发布,该版本在面向对象编程方面有了重要变化,主要包括:
对象克隆,访问修饰符(公共、私有和受保护的),接口、抽象类和方法,以及扩展重载对象等。
(9)可伸缩性。
网页中的交互作用可以通过CGI程序来实现,但CGI程序的伸缩性不理想,因为需要为每一个正在运行的CGI程序创建一个独立进程。
解决的方法就是将CGI语言的解释器编译进Web服务器。
PHP也可以通过各种方式来安装,这种内嵌的PHP具有更好的可伸缩性。
现今,JSP、ASP、PHP等Web技术逐渐成为网站开发技术的主流,这三种是目前最常用的动态网页语言。
相比较而言,PHP在扩展性和对组件的支持上要稍逊于其他两种语言,但它是一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
它与Apache可以以静态编译方式结合,最大化地利用了CPU和内存,同时极为有效地利用了Apache高效能的吞吐能力。
由于外部的扩展也是静态联编,从而达到了最快的运行速度。
PHP本身代码的开放,使得它经过了许多工程师的检测,同时它与Apache编译在一起的方式也让它具有灵活的安全设定,到现在为止,PHP具有了公认的安全性能。
1.3.2Apache服务器
与Microsoft的IIS一样,Apache也是一款流行的Web服务器软件,它功能强大、性能稳定,而且是完全免费的、完全开放源代码,可下载。
Apache服务器具有以下主要特点:
(1)支持多种Web编程语言,如ASP、JSP和PHP等。
(2)安全性高。
作为最流行的Web服务器,Apache具有极高的安全性,使其能够应对可能的安全威胁和信息泄露。
(3)扩展性好。
Apache可以用于Windows、UNIX、Linux及FREEBSD等多种操作系统,而且在不同操作系统中进行配置的步骤基本相同,可移植性很高。
(4)UNIX线程。
从版本2.0开始,在支持POSIX线程的UNIX系统上,Apache能在混合多线程、多线程模式下运行,从而使其可伸缩性得到改善。
(5)新的编译系统。
在版本2.0中,重写了Apache的编译系统,现在是基于autoconf和libtool,从而使得Apache的配置系统与其他软件包更为相似。
(6)对非UNIX平台更好的支持。
Apache在诸如BeOS、OS/2,以及Windows等非UNIX平台上具有更快的速度和更好的稳定性。
1.3.3MySQL数据库
MySQL是由MySQLAB公司开发、发布并支持的一款小巧的关系型数据库产品,它是目前最流行的开放源代码SQL数据库管理系统,是一个真正意义上的多用户、多线程的SQL数据库服务器。
MySQL还是一种完全免费的数据库产品,任何人都可以从Internet自由下载该产品,而无需支付任何费用。
MySQL数据库服务器具有以下特点:
(1)快速、可靠、易于使用。
MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快。
多年以来,MySQL已成功地用于众多要求很高的生产环境。
MySQL一直在不断发展,目前MySQL服务器已能提供丰富和有用的功能。
MySQL具有良好的连通性、速度和安全性,这使得它非常适合于用作网站的后台数据库。
(2)工作在客户/服务器模式下或嵌入式系统中。
MySQL数据库软件是一种客户/服务器系统,由一个多线程SQL服务器、数种不同的客户端程序和库、众多管理工具以及广泛的应用编程接口API组成。
MySQL符合GNU规则,可以为用户提供C、C++、Java(JDBC)、Perl、PHP等API接口。
(3)真正的多线程。
MySQL是一个多线程数据库产品,它采用核心线程的完全多线程,如果有多个CPU,它可以方便地使用这些CPU。
MySQL使用多线程方式运行查询,可以使每个用户至少拥有一个线程,这对于CPU系统来说,查询的速度和所能承受的负荷将高于其他系统。
(4)跨平台性。
MySQL能够工作在各种不同的平台上,这些平台包括:
Solaxis、SunO、SBSDI、SGIIRIX、AIX、DECUNIX、FreeBSD、SCOOPenSer、verNetBSD、OpenBSD、HPUX及Windows9x/NT/2000/XP/2003等。
由于MySQL和PHP都具有跨平台性,故两者可以在多种不同的平台上配合使用,真可谓相得益彰。
(5)数据类型丰富。
MySQL提供的数据类型很多,包括带符号整数和无符号整数、单字节整数和多字节整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET、ENUM以及OpenGIS空间类型等。
(6)安全性好。
MySQL采用十分灵活和安全的权限和密码系统,允许基于主机的验证。
当连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。
(7)处理大型数据库。
使用MySQL服务器可以处理包含5千万条记录的数据库。
据报道,有些用户已将MySQL用于含60000个表和约50亿条记录的数据库。
(8)连接性好。
在任何操作系统平台上,客户端都可以使用TCP/IP协议连接到MySQL服务器。
在Windows系统的NT系列中(NT、2000、XP或2003),客户端可以使用命名管道进行连接。
在UNIX系统中,客户端可以使用UNIX域套接字文件建立连接。
Connector/ODBC(myODBC)接口为使用ODBC连接的客户端程序提供了MySQL支持。
例如,可以使用MicrosoftAccess连接到MySQL服务器。
Connector/J接口为使用JDBC连接的Java客户端程序提供了MySQL支持。
1.4创建DreamweaverPHP站点
MacromediaDreamweaver8是一款专业的HTML编辑器,用于对网站、网页以及Web应用程序进行设计、编码和开发。
利用Dreamweaver的可视化编辑功能,不仅可以快速创建网页,还可以使用ASP、JSP和PHP等当今流行的Web技术来构建动态的、数据库驱动的动态Web网站。
需要建立一个本地文件夹来定义一个Dreamweaver站点,并在站点中创建PHP页面,最后可以在IE浏览器中查看PHP页面运行的结果。
2、系统分析与总体设计
2.1系统功能设计
在线鲜花订购系统主要是建立在网上的鲜花订购及管理平台,主要提供的功能有:
●商品展示:
首页展示、具体商品信息的展示、分类商品信息的展示、排行商品信息的展示、商品检索结果的展示。
●购物车:
主要功能包括向购物车中添加商品、删除商品、修改商品信息、清空购物车、查看购物车中的商品。
●订单管理:
主要包括订单信息的填写、订单的确认、查看订单、执行订单以及订单的取消。
●会员注册:
主要包括注册会员、修改会员资料。
●后台管理:
主要包括发布商品信息、设置商品分类、删除商品信息、回复留言、更新新闻公告等。
一般网上商店系统都具备上面所述的几点功能,其中购物车和订单管理是此类系统的重点和难点,另外,在线支付功能也是电子商务网站发展的瓶颈,同样是此类系统实现的难点。
2.2系统流程分析
从客户角度,购物流程为:
注册用户、选购产品、预定产品、退出登录。
购物模块流程如图
(2)所示。
用户
浏览商品
购物车
精品推荐
热门商品
查询商品
未登录新用户
用户登录
新用户注册
登录
服务台
图
(2)购物模块流程图
从管理角度,流程为:
管理员登录后台、发布公告添加鲜花商品、查看管理预定信息、退出平台。
管理模块流程如图(3)所示。
管理员登录
验
证账号验证
失
败
管理信息
添加商品
管理用户
管理商品
管理公告
管理订单
图(3)管理模块流程
2.3系统结构设计
分析上一节的功能描述,可得出系统的功能模块主要包括网上订花前台模块和网上订花后台模块两个子模块。
结构如图(4)所示。
网上鲜花订购系统
后台模块
前台模块
订单管理
用户管理
商品管理
管理员登录
订单查询
购物车
论坛
个人信息
商品列表
首页
图(4)功能模块结构
前台模块即用户界面,其功能模块主要包括:
网站首页、商品列表、个人信息、论坛、购物车和订单查询几个模块。
后台模块即管理界面,其功能模块主要包括:
管理员登录、商品管理、用户管理和订单管理几个模块。
各个模块的具体功能和实现将在后文详细叙述。
三、数据库设计
3.1PHP连接MySQL数据库
要进行数据库编程,首先需要连接到数据库。
在PHP中,提供了大量用于数据库处理的函数。
MySQL函数库中提供的连接数据的函数是:
resourcemysql_connect([stringserver[,stringusername[,stringpassword[,boolnew_link[,intclient_flags]]]]])
server:
MySQL服务器。
可以包括端口号,,例如:
“hostname:
port”,或者到本地套接字的路径,例如,对于localhost的“:
/path/to/socket”。
默认的端口号是80。
username:
用户名。
默认值是服务器进程所有者的用户名。
password:
密码。
默认值是空密码。
new_link:
如果用同样的参数第二次调用mysql_connect(),将不会建立新的连接,而将返回已经打开的连接标识。
参数new_link改变此行为并使mysql_connect()总是打开新的连接,甚至mysql_connect()曾被同样的参数调用过时。
intmysql_select_db(stringdatabasename[,intlinkid])
该函数的作用是在MySQL数据库服务器上选择一个数据库作为当前数据库。
其中databasename为要选择的数据库名称,参数linkid默认为最近一次的连接号,该连接号由mysql_connect()函数返回,如果此连接号不存在,系统将自动建立一个类似于mysql_connect()在没有参数情况下所创建的连接号。
如果数据库选择成功,函数返回true,如果选择的数据库不存在或因其他原因产生选择错误,则返回false。
可以在以上两个函数前加“@”来屏蔽错误,也可以使用die()函数来显示自定义的错误提示及处理方式,使用函数die()时,上述函数与die()之间用关键字or连接。
由于与数据库的连接只在当前页有效,因此只需在每个需要与数据库建立连接的文件中包含conn.php就可完成与数据库的连接,既方便又可避免代码冗余。
3.2数据库的分析
PHP跟踪和管理用户的状态、行为主要有两种措施,一种是使用session或cookie保存用户登录网站的信息,但这种信息会随着用户退出网站而消失,对于那些需要持久保存的信息,如用户的个人资料、用户的订单、商品信息等,则需要保存到数据库中进行长期存储。
数据库适合存储那些需要持久保存的信息,并且提供了很好的方式进行查询、插入、修改和删除等操作。
现在,成熟而且广泛占领市场的数据库产品一般都是关系型数据库产品。
关系型数据库产品具有坚实的理论基础,基于关系演算和关系模型,并且提供非面向过程的查询语言SQL,因此深受市场的欢迎。
作为PHP的黄金搭档MySQL数据库不仅存储和管理功能强大,而且它是完全免费提供的,很多网站都可以下载到它,这样可以为企业节省很大一部分开支。
PHP中也提供了强大的支持MySQL数据库的函数,“PHPMyAdmin”为MySQL数据库提供了图形化界面。
根据上述系统结构的分析,我们可以总结出,在此系统中需要用到以下几个表:
user(用户表,用以存放会员登录账户密码、真实姓名、联系方式等相关信息,以方便订购及鲜花配送)、admin(管理员表,存放管理员登录用户名称、密码等相关信息)、gonggao(新闻表,用以存放公告信息)、shangpin(鲜花商品表,用以存放不同鲜花商品的信息)、type(商品大类列表,用以存放鲜花产品的大类别),pingjia(商品评价表)leaveword(用户留言表,用于存放用户的留言)、dingdan(订单表,用以存放不同会员的订单信息和订购状态)。
3.3数据库的设计
表
(1)为用户基本表,存储用户的重要信息,其中某些字段的值也会被其他表调用到,比如订单表中将使用username字段存储订单用户的用户名。
此处收货人名称、地址、收获方式和性别字段都是为了在发货过程中,商品能够准确送达用户手中的必填字段。
另外,为了防止用户忘记自己的密码,使用question和answer字段存放取回密码的问题和答案,用户输入正确的答案即可取回忘记的密码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上鲜花 订购 系统