8.1BtoC电子商务网站相关知识8.1.1电子商务的含义电子商务(ElectronicBusiness)是指通过因特网(Internet)进行的各种商务活动。它包括利用计算机网络技术,实现的网上广告、订货、付款、客户服务和货物交换等销售、售前和售后服务,以及市场调查分析、财务核算及生产安排等各种商业活动。电子商务已应用到各行各业。如制造业、零售业、金融业、运输业、建筑业、出版业和娱乐业等。电子商务改变了人们的消费方式。网上购物实现了足不出户,看遍世界。网上的搜索功能可以方便地让顾客货比多家。网上购物减少了从批发到零售的中间环节,降低了商业成本,使消费者得到实惠。早在20世纪60~70年代,就开始了信息技术在商贸交易领域的应用,但应用的范围一直非常有限。进入90年代以后,由于Web技术的迅速发展,电子商务以迅猛的速度发展起来。大量使用Web技术,是当今电子商务的重要技术特征。而Web数据库的开发,是建设电子商务的重要环节。电子商务可以从不同的角度进行分类。比如从应用领域分类,从网络技术上分类等。从商贸业务的性质来分类,可以分为BtoB系统和BtoC系统。8.1.2BtoC电子商务BtoB(BusinesstoBusiness,也有人写成B2B)系统,是业务对业务,常在企业与企业之间进行。BtoC(BusinesstoCustomer)系统,是支持商业零售业的电子商务系统。普通消费者利用因特网,实现网上购物的电子商务系统,基本上都属于BtoC系统。这是一个简化了的网上购物网站——“网上汽车销售”。假定付款方式为货到付款。它由3个部分组成。8.2一个简化了的网上购物网站完整案例(1)供顾客使用的部分,顾客可查找商品信息,并可提交购货订单。(2)供网站的数据管理员使用的部分,可添加、修改或删除商品信息。(3)供网站的送货员使用的部分。为了便于初学者学习掌握,删减了许多细节的处理。程序也较简单易懂。本例可以作为学生综合练习的大作业示例。这一部分供上网购物的顾客使用。由11个ASP网页组成(图8-2-1)。8.2.1顾客使用部分图8-2-1顾客使用部分(1)首页(index.asp)——网上汽车销售,上边是标题部分,左边是超级链接列表,中间显示刚上市的新车(图8-2-2)。1.案例效果图8-2-2网上汽车销售首页(index.asp),含“新车上市”(2)详细信息页(detail.asp),在首页中单击“威驰”图片,进入威驰汽车的详细信息页。可以看到该车的详细信息。下方还有填写订购数量的文本框和提交按钮(图8-2-3)。图8-2-3汽车详细信息页(detail.asp)如果这时在“订购数量”中填写一个数字并单击“提交”按钮,会弹出“对不起”信息框,提示客户先要进行登录(图8-2-4)。图8-2-4弹出的“对不起”信息框(3)客户登录页(custlog.asp),上网购物的顾客在这里输入客户名和密码,“提交”即可(图8-2-5)。图8-2-5客户登录页(custlog.asp)(4)客户密码认证页(custlogon.asp),如果密码正确,显示“密码正确,登录成功”等字样,不成功则显示“密码错误,请重新登录”(图8-2-6)。图8-2-6客户密码认证页(custlogon.asp)(5)新顾客开户页(custnew.asp),如果是第一次来购物的顾客,可进入新顾客开户页输入顾客信息,以便送货服务(图8-2-7)。图8-2-7新顾客开户页(custnew.asp)(6)添加新客户页(custadd.asp),新顾客的信息被加入数据库。以后每次来购物就不必再重新输入地址电话等信息了(图8-2-8)。图8-2-8添加新客户页(custadd.asp)(7)品牌浏览页(browse.asp),这一页开列出可供选择的所有品牌(图8-2-9)。如果单击某一品牌可以显示该品牌的所有车型。图8-2-9品牌浏览页(browse.asp)(8)详细查找页(search.asp),在这一页里,客户可以以汽车品牌、发动机排量或价格区间来查找自己所需的汽车(图8-2-10)。图8-2-10详细查找页(search.asp)(9)查找结果列表页(list.asp),假设客户在“详细查找”页的“汽车品牌”一栏输入了“庆铃”,或在“品牌浏览”页单击了“庆铃”超级链接,将显示“庆铃”品牌的所有车型(图8-2-11)。图8-2-11查找结果列表页(list.asp)(10)订单提交页(order.asp),订单被加入数据库。并显示出相关信息(图8-2-12)。图8-2-12订单提交页(order.asp)(11)查看订单页(billbrow.asp),客户可以查看自己已经提交的订单(图8-2-13)。图8-2-13查看订单页(billbrow.asp)共建立了3个数据表。表cars(图8-2-14)保存商品的信息,包括品牌、型号、厂商、上市日期以及汽车尺寸、排量等技术参数。2.制作过程图8-2-14“cars”表结构表customers(图8-2-15)保存客户信息,包括客户的地址和电话等,这些是提供送货服务所必须的。表dealer(图8-2-16)包含用户订购信息并兼作销售记录,这已经非常简化了。图8-2-15“customers”表结构图8-2-16“dealer”表结构(1)首页(index.asp)利用表格将网页分成3个部分(未使用框架,当然如果使用框架也完全可以)上边的标题和左侧的超级链接列表每页都有。中间显示刚上市的新车。新车的信息来自数据库,如果有更新的上市新车被添加到数据库,首页显示的车型会随之变化。从数据库提取数据,按上市时间进行排序,语句中的DESC表示降序(倒排序),即后上市的排在前边。用FOR循环取前4条记录(4个车型),显示两个车型之后换行。(2)详细信息页(detail.asp),显示指定车型的详细信息。与第3章显示详细信息的代码类似。其中判断用户是否已经登录,是检查Session中是否已经有了cust变量,如果已经登录,在登录后会将客户的ID号存到Session中。(3)客户登录页(custlog.asp),不含VBScript脚本。客户名的文本框名称为“nam”,密码框的名称为“pass”,表单Action属性为“custlogon.asp”,即客户密码认证页。(4)客户密码认证页(custlogon.asp),在表customers中查找字段nam等于客户名的记录,查到后检查该记录的pass字段是否与客户输入值相等。若相等将客户的ID值保存到Session中,作为以后判断客户已经登录的依据,然后显示“密码正确!登录成功”等文字;若不相等或根本查不到客户名,显示“密码不正确!请重新登录”等。(5)新顾客开户页(custnew.asp),不含服务器端脚本,但包含一段客户端脚本,用JavaScript编写,功能是检查(A)客户是否填写了所有的空格,(B)客户两次输入的密码是否一致,若不符合要求请客户重新填写。(6)添加新客户页(custadd.asp),向表customers中添加一条新记录。与第3章中添加记录类似。(7)品牌浏览页(browse.asp),列出所有品牌采用了分组查询技术。即按照品牌进行分组。脚本中的“&Chr(13)&Chr(10)”实际上并不影响网页显示效果,可以删去。加入仅仅是为了在客户端看原代码时好看一点。(8)详细查找页(search.asp),服务器端脚本仅一行,判断客户是否已经登录。(9)查找结果列表页(list.asp),程序脚本与第3章的查找结果列表类似。(10)订单提交页(order.asp),订单被加入数据库。程序脚本与第3章的数据加入到数据库类似。(11)查看订单页(billbrow.asp),这页里使用了INNERJOIN语句。订购的数量、时间是在表dealer中保存的,而汽车的品牌、型号、价格等都保存在表cars中。这一部分供网站的数据管理员使用。可以设置成只能由内部网访问,外部(因特网)不能访问。由9个ASP网页组成(图8-2-17)。8.2.2数据管理员使用部分图8-2-17数据管理员使用部分(1)输入管理员密码页(admin.htm),(图8-2-18)。(2)密码验证页(admin.asp),含两个超级链接可供选择:“输入和查看汽车信息及库存量”和“查看销售记录”,(图8-2-19)。1.案例效果图8-2-18输入管理员密码页(admin.htm)图8-2-19密码验证页(admin.asp)(3)查看销售记录页(record.asp),可看到尚未送出的订车的信息,和已经完成的销售记录(图8-2-20)。图8-2-20查看销售记录页(record.asp)(4)查看汽车信息页(carmsg.asp),是一个可供修改和删除操作的目录。左上角有一个添加新记录的超级链接。因商品种类不多未做分页。如果商品种类较多应该分页(图8-2-21)。图8-2-21查看汽车信息页(carmsg.asp)(5)修改汽车信息页(carmod.asp),在查看汽车信息页单击某商品的“修改”超级链接,就进入修改汽车信息页。数据管理员可修改商品信息。修改后单击“提交”按钮(图8-2-22)。图8-2-22修改汽车信息页(carmod.asp)(6)更新汽车信息页(carup.asp),在修改汽车信息页内完成修改后,就进入更新汽车信息页。这个ASP网页在对数据库进行更新之后,不显示任何内容,直接返回到查看汽车信息页。(7)输入新的汽车信息页(carnew.asp),在查看汽车信息页单击左上角的“添加新记录”超级链接,就进入输入新的汽车信息页。数据管理员可输入新的商品信息(图8-2-23)。图8-2-23输入新的汽车信息页(carnew.asp)(8)添加汽车信息页(carup.asp),这个ASP页把新的记录添加到数据库里,然后不显示任何内容,直接返回到查看汽车信息页。(9)删除汽车信息页(cardel.asp),删除一条记录后直接返回到查看汽车信息页。(1)输入管理员密码页(admin.htm),无服务器端脚本。管理员姓名的文本框名称为“master”,密码框为“pass”,表单Action属性为“admin.asp”。2.制作过程(2)密码验证页(admin.asp),已经简化到假设网站只有一名数据管理员。所以没有在数据库里为管理员再建立一个表。而是将管理员姓名和密码直接放在了程序里。这绝对不是一种值得提倡的方式。只是为了便于初学者学习,尽量使案例小一点。(3)查看销售记录页(record.asp),使用了INNERJOIN语句。开头的脚本检查Session中管理员登录的信息,这是防止未经登录直接输入地址而进入。这是一个安全措施。这一部分的ASP网页,除前两页外都应该有。(4)本部分其余各页的程序脚本,与第3章中实现添加记录、修改记录、删除记录等基本类似,不再提供详细代码。这一部分供送货员使用。由3个ASP网页组成(图8-2-24)。8.2.3送货员使用部分图8-2-24送货员使用部分(1)输入送货员密码页(dealer.htm)(图8-2-25)。1.案例效果图8-2-25输入送货员密码页(dealer.htm)(2)在送货员查看送货清单页(dealer.asp),若密码正确,显示出需要送货的清单(图8-2-26)。图8-2-26送货员查看送货清单页(dealer.asp)(3)送货页(send.asp),送货员将商品送到,并取回货款后,在查看送货清单页中单击“现在去送货”。送货页只在后台运行,修改了数据库中的内容,没有显示内容。数据操作完成后返回查看送货清单页,送走的商品已不在送货清单之中。(1)输入送货员密码页(dealer.htm),无服务器端脚本。送货员姓名的文本框名称为“dealer”,密码框为“pass”,表单的Action属性值为“dealer.asp”,即送货员查看送货清单页。2.制作过程(2)送货员查看送货清单页(dealer.asp),这里也假定只有一名送货员(姓名为“abc”,密