毕业设计-基于PHP技术的网上拍卖系统论文.doc_第1页
毕业设计-基于PHP技术的网上拍卖系统论文.doc_第2页
毕业设计-基于PHP技术的网上拍卖系统论文.doc_第3页
毕业设计-基于PHP技术的网上拍卖系统论文.doc_第4页
毕业设计-基于PHP技术的网上拍卖系统论文.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于php技术的网上拍卖系统摘 要本文研究了基于php技术的网上拍卖系统前台模块实现中的主要问题及其算法处理,分析了网上拍卖系统模式、流程、功能、框架结构、文件流程结构及其实现构想,对系统数据库设计进行了简要概述,并全面介绍了如何建立一个校园拍卖网站的方法。该网站采用 “php + apache + mysql” 作为开发平台。拍卖网站面对用户的web界面采用b/s结构,是一个动态、交互式、具有在线拍卖、商品提供和会员管理等功能的c2c拍卖网站。本文还提出了研究的展望,希望对正在进行或拟进行拍卖电子商务网站开发的商家有所借鉴。关键词: 电子商务;网上拍卖;c2c;phpabstractthe paper studies the main problem in the implementing process and their programs of the proscenium part on online-auction system based on php, analyzes the system mode, workflow, system functions, system frame of and the file-flow frame of online-auction system based on php, and the implementation of this frame in detail. the design of the database system is discussed briefly. the paper also expounds how to build a campus auction web site. we adopt the perfect combination: php, apache and mysql on windows xp. in the web interface of user, we adopt b/s structure. the built web site is a dynamic and interactive c2c auction website that has functions of auction online, commodities supply and users management. the research prospect is suggested in the end. it is hoped that this research will be useful for the enterprises which have decided to or are readying to implement electronic commerce.keywords: e-business; auction online; c2c; php目 录1. 绪论12. 设计原理和预备知识32.1 设计原理32.1.1 为什么选择c2c32.1.2 拍卖形式32.2 预备知识32.2.1 万维网32.2.2 html42.2.3 php 42.2.4 mysql 62.2.5 apache63. 系统分析与设计73.1 系统功能分析73.1.1 系统主体功能73.1.2 辅助功能设计73.2 系统流程分析73.3 网页框架结构设计73.4 系统的文件流程结构83.5 数据库94. 详细设计134.1 会员模块134.1.1 设计方案134.1.2 会员注册134.1.3 会员登录和退出174.2 物品登记和修改184.2.1 物品登记184.2.2 物品修改224.3 物品查找和浏览234.3.1 物品查找244.3.2 物品浏览264.4 竞价平台294.4.1 设计方案294.4.2 物品和卖主信息304.4.3 竞价记录304.4.4 参考价格314.4.5 竞价314.5 会员天地314.5.1 设计方案324.5.2 修改会员密码324.5.3 修改会员信息334.5.4 关注物品344.5.5 重新提交未成交物品344.5.6 结标354.6 留言和投诉364.6.1 留言364.6.2 投诉374.7 首页设计384.7.1 设计方案394.7.2 公告栏系统394.7.3 简单计数器404.7.4 会员和物品统计414.8 会员跟踪425. 系统运行43结 论44致 谢44主要参考文献 45附录 源代码46附录 英语翻译461. 绪论拍卖是购买和销售中的一种主要的交易方式,随着internet技术的迅猛发展,基于internet的电子商务也得到快速发展,拍卖模式已经成为电子商务的重要组成部分,因为它充分利用了互连网的特性开创了一个前所未有的巨大市场而被广泛看好。对商家而言,以拍卖的形式在网上采购、销售物品,因为不受时间和空间限制、并且可以有效降低运营成本并提高效率而具有极大的吸引力1。说起拍卖网站就一定少不了ebay2,这家美国网站缔造了一个美妙的网络发家致富的奇迹。 几年前ebay出现的时候,它还只是个小不点,但崭新的商业思想却使ebay在短时间内成为网络巨人。它带动起网络时代新的行为方式,为买卖双方在网上提供交易的场所,供应一些别人看不上眼的零碎物品,例如二手电脑,旧书等等。这个点子引出了一颗闪耀的新星,如今的ebay已经成为拍卖网站中首屈一指的名牌。或者是这个美妙的故事实在太让人向往了,国内的网络拍卖公司在最近几年也纷纷开业。例如,年月国内第一个网上拍卖网站yabuy开通;同年8月,号称全球最大中文竞买式交易网站的网猎正式成立。本来市场活跃并非不好,只是目前拍卖网站的涌现还只能为网络经济带来崭新的概念和广阔的发展空间。除去没有意义的新闻炒作,大多数网站对网友的影响尚乏善可陈。而现在他们面对的将是谁会买和怎样卖两大难题3。如何分析和设计完善的网上拍卖系统?如何实现网上拍卖系统?虽然国内外有不少网上拍卖网站,但对系统分析、设计、开发与实施的全过程进行详细研究可参考的公开资料不多1。以实际的网上拍卖系统(作者实现的系统为“校园拍卖网”)的研究与开发为基础,文章详细给出网上拍卖系统前台模块的设计和具体的实现。对于“网上拍卖”系统,要完成的主要是网上的拍卖流程,要求对拍卖信息的发布、查询都能在线进行,而且,对于用户满意的拍卖品,要求能够在线出价。因为拍卖是一种公开的投标方式,所以竞价人在竞价时也应该可以查看历史的竞价记录。对拍卖商来说,他应该可以随时掌握拍卖品的拍卖情况,所以也应该为拍卖商提供一个查看竞价情况的空间。对某一拍卖品,它的拍卖状态应该是可以设置的。从技术的角度看,要解决的问题和要达到的技术要求如下1:(1)在线发布拍卖信息;(2)在线搜索拍卖信息;(3)即时更新拍卖信息;(4)可以设置拍卖品的状态;(5)提供历史竞价记录;(6)对安全性要求是:只有信息发布商才能处理相关拍卖品的拍卖(如结标)流程,其他人只能查看相应的信息。现在已经知道做个网上拍卖系统有何意义,也知道有哪些技术要求,但要怎么实现呢?大家知道,一个系统不是凭空产生的,它必须有某个具体事物为依托。那么,这个依托是什么呢?这个依托就是做一个网上拍卖网站。但是,做什么样的网上拍卖网站好呢?作者实现的网上拍卖网站命名为“校园拍卖网”。为什么会设计校园拍卖网站呢?设计校园拍卖网这个主意不是一下子就有的。作者曾经为系统(或称为网站)取一个名字伤透脑筋。作者给网站取的第一个名称为“在线拍卖”(auction online);第二个名称为“个人物品拍卖网”(c2c auction net)。然而觉得它们都不合适,因为在因特网上有类似的网站,若这样做则没有自己的特色,而且重复他人的劳动也只是徒劳而已。取什么名字好呢?在回宿舍的路上,看见有很多学生摆摊卖旧书等物品。看到他(她)们很辛苦的样子,作者当时灵机一动:为什么不给他(她)们做个拍卖网站呢?下面引用我们校报文化专刊文章4里的一段优美的文字作为绪论的结尾。这段文字是:“二手市场是毕业之际一道亮丽的风景线,在哪个晴朗的午后,毕业生们在校园里摆起了摊点,卖杂志、磁带、旧书;女生们的种类更多:服饰、饰品、玩具、生活用品,无一不卖。一件东西卖了几块钱,买卖双方皆大欢喜。哪一天,看到通往宿舍路边的梧桐树下,席地而坐的师兄师姐们,看到斜阳洒满一地的柔光,树影在旧货摊上晃动,那撺动在摊前的人流以及摊主脸上温和的笑,一切都让人有一种美丽的感动。”2. 设计原理和预备知识2.1 设计原理2.1.1 为什么选择c2c?目前,最具代表性的电子商务有以下几种形式1:b2b企业之间的业务,如采购、分销、服务等业务;b2c企业与消费者之间的交易,如网上售购、网上教育、网上其他服务等;g2c政府与消费者或市民之间的业务,如个人报税、养老金、特殊补贴、各种救济金发放等;c2c消费者对消费者,如网上交流、网上房屋交易、网上跳蚤市场交易等。作者的研究开发定位在实现完善在线拍卖交易模式上,主要是实现一个提供在线拍卖交易的平台,因此既不站在一般的商品供应商,也不站在一般的商品采购商的角度,从某一点来说,是基于第三方的拍卖系统。对系统而言,所有的用户都是顾客(customer),所以是一个 c2c 模式的电子商务拍卖交易系统。目前主要面对的顾客是一般的消费者(学生)。因此设计出的系统是基于 c2c 的电子商务模式开展的。2.1.2 拍卖形式拍卖形式(在本文中等价于拍卖方式、拍卖的竞价方式)主要有三种:(1)增价拍卖。又称英国式拍卖。这是最常见的一种拍卖方式。拍卖时,由拍卖人宣布预定的最低价,然后竟买者相继出价竞购。拍卖行可规定每次加价的金额限度。至某一价格,经拍卖人三次提示而无人加价时,则为最高价,由拍卖人击槌表示成交。如果货主与拍卖人事先商定了最低限价,而竟买人的叫价低于该价,拍卖人可终止拍卖。(2)减价拍卖。又称荷兰式拍卖,源于世界上最大的荷兰花卉拍卖市场,由拍卖人先开出最高价格,然后渐次降低价格,直到有人表示接受,即达成交易。这种拍卖方式买主之间无反复竞价的过程,且买主一旦表示接受,不能再行撤销。由于减价拍卖成交迅速,特别适合于数量大,批次多的鲜活商品。 (3)密封递价拍卖。又称招标式拍卖。由买主在规定的时间内将密封的报价单(也称标书)递交拍卖人,由拍卖人选择买主。这种拍卖方式,和上述两种方式相比较,有以下两个特点:一是除价格条件外,还可能有其他交易条件需要考虑:二是可以采取公开开标方式,也可以采取不公开开标方式。拍卖大型设施或数量较大的库存物资或政府罚没物资时,可能采用这种方式。本系统选择的拍卖形式是增价拍卖。2.2 预备知识2.2.1 万维网php存在于万维网的web页中,所以了解一些有关万维网的常识对理解php非常有帮助。1989年,万维网(web)创建于瑞士日内瓦的欧洲量子物理实验室,最初是为了轻松的访问internet中存在的交叉引用文档。文档的定位和打开都使用超文本链接,超文本链接中包含有指定文档的一个引用。超文本标记语言(html)是一种非常简单的、用于设计万维网web页的语言。web浏览器是一个在用户计算机上显示html文档的程序。目前,最流行的两种web浏览器是netscape navigator和microsoft internet explorer。每一个web页或文档都有一个被称为统一资源定位符(uniform resource locator,简称url)的惟一地址。每一个url包括四个部分:协议(通常为http)、服务、web服务器的域名或internet协议地址(ip地址)以及文件名。超文本传输协议(hypertext transfer protocol,简称http)负责管理用于web导航的超文本链接,可以认为web是靠http驱动的。http确保web浏览器能够正确的处理和显示web页面中所包含的不同类型的信息(文本、图形以及其他信息)。url的协议部分后面紧接着的是一个冒号和两个斜杠,然后是服务,在万维网上服务通常是www,代表了“world wide web”。域名是用来在internet上标识计算机的惟一地址,这些计算机通常是web服务器。域名包括两个部分,使用点号分开。域名的前一部分通常由一段简单的、标识一个人或一个组织的文本组成。域名的后一部分则表示该站点的类型。举一个例子,像 就是一个完整的url的例子。在url中,域名或ip地址后面可以带有一个指定的文件名,或者目录与文件名的组合。如果url中没有指定的文件名,处理请求的web服务器就会在根目录或者指定目录中查找一个名为index.html的文件5。2.2.2 html因为php存在于web页之中,所以要想使用php,首先必须理解超文本标记语言和如何构造web页面。html是hypertext markup language(超文本标记语言)的缩写,它是构成web页面(page)的主要工具,是用来表示网上信息的符号标记语言。在网上,如果要向全球范围内出版和发布信息,需要有一种能够被广泛理解的语言,即所有的计算机都能够理解的一种用于出版的“母语”。www(world wide web)所使用的出版语言就是html语言。通过html,将所需要表达的信息按某种规则写成html文件,通过专用的浏览器来识别,并将这些html“翻译“成可以识别的信息,就是我们现在所见到的网页。 html的功能:出版在线的文档,其中包含了标题、文本、表格、列表以及照片等内容。通过超链接检索在线的信息。为获取远程服务而设计表单,可用于检索信息、定购产品等。在文档中直接包含电子表格、视频剪辑、声音剪辑以及其他的一些应用。2.2.3 phpphp是能让你生成动态网页的工具之一。php代表:超文本预处理器(php: hypertext preprocessor)6。php是完全免费的,不用花钱,你可以从php官方站点()自由下载。php遵守gnu公共许可(gpl),在这一许可下诞生了许多流行的软件诸如linux和emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。php在大多数unix平台,linux和微软windows平台上均可以运行。怎样在windows环境的pc机器或unix机器上安装php的资料可以在php官方站点上找到。安装过程很简单。(一)历史五年前,rasmus lerdorf为了创建他的在线简历而创造了个人主页工具(personal home page tools)。这是一种非常简单的语言。其后越来越多的人们注意到了这种语言并对其扩展提出了各种建议。在许多人的无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的语言,而且现在还在成长中。php虽然很容易学习,但是速度上比mod_perl(植入web服务器的perl模块)慢。现在有了可以与mod_perl速度想媲美的被称作zend的新引擎,而php4就可以充分利用这个引擎。现在,php4 正式版已经发布,大家可以到php的官方站点上去下载。andy gutmans和zeev suraki是zend的主要作者。可以去zend站点()了解更多。php的应用在个人性质的web工程中增长显著。根据netcraft在1999年10月的报告,有931122个域和321128个ip地址利用php技术。(二)php的先进之处应用php有许多好处。当然已知的不利之处在于php由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到php4之前)。但是php的邮件列表很是有用而且除非你正在运行像yahoo!或者a这样的极受欢迎的站点,你不会感觉出php的速度与其他的有什么不同。好了,让我们来看看php有那些优点:1、学习过程我个人更喜欢php的非常简单的学习过程。与java和perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的php编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。php的语法类似于c,perl,asp或者jsp。对于那些对上述之一的语言较熟悉的人来说,php太简单了。相反的,如果你对php了解较多,那么你对于其他几种语言的学习都很简单了。你只需要30分钟就可以将php的核心语言特点全部掌握,你可能已经非常了解html,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的web站点。由于php代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入php使得你的站点更加具有动态特性。2、数据库连接php可以编译成具有与许多数据库相连接的函数。php与mysql是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。phplib就是最常用的可以提供一般事务需要的一系列基库。3、可扩展性就像前面说的那样,php已经进入了一个高速发展的时期。对于一个非程序员来说为php扩展附加功能可能会比较难,但是对于一个php程序员来说并不困难。4、面向对象编程php提供了类和对象。基于web的编程工作非常需要面向对象编程能力。php支持构造器、提取类等。5、可伸缩性传统上网页的交互作用是通过cgi来实现的。cgi程序的伸缩性不很理想,因为它为每一个正在运行的cgi程序开一个独立进程。解决方法就是将经常用来编写cgi程序的语言的解释器编译进你的web服务器(比如mod_perl,jsp)。php就可以以这种方式安装,虽然很少有人愿意这样以cgi方式安装它。内嵌的php可以具有更高的可伸缩性。6、更多特点php的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。你可以利用php连接包括oracle,ms-access,mysql在内的大部分数据库。2.2.4 mysql本系统使用的是mysql数据库服务器。mysql是一个真正的多用户、多线程sql数据库服务器。sql(结构化查询语言)是世界上最流行的和标准化的数据库语言。mysql是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。sql是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用sql语言为一个网站检索产品信息及存储顾客信息,同时mysql也足够快和灵活以允许你存储记录文件和图像。mysql 主要目标是快速、健壮和易用。mysql的官方发音是“my ess que ell”。2.2.5 apache根据netcraft公司()1999年12月所做的关于web服务器市场的调查,apache以54.49%的市场占有率名列各服务器的榜首,紧随其后的是iis(23.78%)和netscape(7.02%)。虽然后两种服务器都有各自公司强有力的资金支持和强大的宣传攻势,但是仍然难以抵挡apache这一免费、源代码开放的自由软件的诱人魅力。apache项目最早始于1995年7,由一些网络管理人员自发组成,其目的是开发出一个稳定、强大的web服务器以满足新一代网站的需要。当时,最流行的服务器是由美国国家超级计算机应用中心(ncsa)开发的一套软件,但是后来因为主要的设计人员相继离开,使该软件的研制陷入停滞状态。也就是在这个时候,网站管理人员加入到开发队伍中,对服务器的功能进行了扩展,并提出了一些修补错误的补丁程序,使服务器的功能更加完善,并由此得名apache(注:patch在英文中是补丁的意思)。能够直接查看源代码是apache服务器最吸引人的地方之一。只要使用者熟悉c+或perl,就可以自己动手修改和添加服务器的功能,而且还有许多由世界各地的开发人员免费提供的功能模块可以直接使用。目前,apache服务器在unix和windows平台都可以使用。(一)安装apache服务器很多人都认为安装apache服务器是一件非常复杂的工作,其实事实并非如此。在unix平台下安装apache服务器的过程和安装其它大多数应用程序的过程完全相同。首先下载源文件,然后对其进行编译之后就可以使用。而windows版本apache服务器的安装则更加简单,像其它windows应用程序一样也提供了安装向导。不管在哪一种操作系统平台上安装,首先我们都需要获得apache服务器的一份拷贝。不同操作系统版本的大小并不一样,但是文件都不会太大,一般在1兆和3兆之间。因此,即使通过网络下载的话,也不会占用太多的时间。(二)下载apacheapache服务器的官方站点:/有apache的免费下载服务,并且提供了多个镜像供下载者选择。3. 系统分析与设计3.1 系统功能分析根据系统的设计原则和具体的技术要求,对系统功能进行了分析后,确定系统需要具备如下功能。3.1.1 系统主体功能系统的主体功能是要实现拍卖过程的各项功能。从系统参与各方当事人(一个人可能是一个拍卖品的卖家同时又是另一个拍卖品的买家)来分析,主要功能为:(1)卖主功能:会员注册,发布拍卖品信息,修改拍卖品信息,查看个人拍卖品,查看出价情况,拍卖结标。(2)出价人功能:会员注册,拍卖品搜索,查看拍卖品信息,查看卖主情况,参与拍卖品竞价。(3)网站系统功能:主要为后台模块内容。3.1.2 辅助功能设计非注册用户可以参与的留言、投诉等;对拍卖知识、拍卖法律等的介绍。3.2 系统流程分析要有效实现如上的系统拍卖功能,必须分析计算机模块之间的关系。系统流程如下图3.1。用户访问网站物品浏览竞拍竞标拍卖行为拍卖结束交易行为发布拍卖品注册登录物品信息留言等图3.1 系统流程3.3 网页框架结构设计根据系统的功能和流程分析与设计,利用web技术,各个不同的功能在不同的网页上实现,拍卖的流程由网页的链接实现,因此基于web的网上拍卖系统的网页框架结构设计如图3.2。注册登录注销拍卖知识搜索会员天地卖东西留言投诉联系管理员个人信息显示及修改修改密码我关注的物品我的拍卖物品重新提交未成交的物品物品显示竞价平台竞价记录参考价格结标登记物品图3.2 网页框架结构3.4 系统的文件流程结构在确定的网页框架结构的基础上,各网页采用的文件形式可以是不同的,例如有的可以采用html格式的文件(静态网页),而有的必须采用php格式的文件(动态网页)。但在本系统的实现中一律采用php格式的文件(动态网页是静态网页的扩展)。该文件流程是根据网页框架结构改编而成的,其中涉及到的网页名称(*.php)可以作为具体实现时的文件名,也可以适当修改。箭头的指向表明网页中超链接的方向。图3.3是系统的文件流程结构图。本系统做的主要是网上拍卖系统的前台模块。整个前台模块可分为以下几个模块:会员模块、物品登记和修改、物品浏览和查找、竞价平台、会员天地、留言和投诉、主页七大模块,将在后文的详细设计中分别介绍。主页index.php拍卖知识kowledge.php搜索search.php卖东西addproduct.php留言leave.php投诉showup.php添加留言leaveconfirm.php发送投诉showupconfirm.php添加物品addproconfirm.php联系管理员contact.php注册register.php注册确认registerconfirm.php添加会员add_user.php网站声明statement.php会员天地member.php个人信息userinfo.php个人信息修改changeuser.php修改密码changepass.php关注物品attention.php个人物品saleproduct.php修改确认chpassconfirm.php个人信息修改确认ch_userconfirm.php竞价平台bid.php竞价确认bidgo.php重新提交物品saleagainproduct.php修改物品changeproduct.php提交物品确认saleagainconfirm.php搜索结果searchgo.php修改物品确认changeproconfirm.php登录login.php图3.3 系统的文件流程结构图3.5 数据库本系统的数据库主要包括以下几个数据表:会员信息表(users)、登记物品信息表(products)、简单留言功能信息表(leavewords)、出价信息表(bids)、关注物品信息表(attentions)、购买物品信息表(buys)、公告栏信息表(announce)个数据库表。(一)会员信息表这是实现校园拍卖网系统所做的第一个数据库设计工作,如何最有效的完成呢?首先是选择开发工具。作者在设计之初就选择了“黄金搭档”(apache+php+mysql)。但在开发数据库的开始,我走了一些弯路,在dos环境下用最原始的开发方法。不久找到了phpmyadmin(phpmyadmin是一个用php编写的,可以通过互联网控制和操作mysql。通过phpmyadmin可以完全对数据库进行操作,例如建立、复制/删除数据等等。)这个好东西。(对开发者而言,没有比这更快乐的事了!)第二步是认真的思考会员信息应包含哪些内容。为此,作者浏览了一些其他的拍卖系统会员注册web页面,并做了比较,各有所长,难以决定。其实,一些原则是必要的,比如使用户能更快的注册并保证系统设计的完整性等。至于成功与否,还是用户说的算。于是,根据本系统的特点,实现了会员信息表(users)的设计如图3.4。图3.4说明:会员信息表结构图是从phpmyadmin工具上截取的画面并经过了处理之后得到的。(下文提到的其他数据表结构图也是这样得到的,以后不再说明。)由于“如何设计数据库”不是本文的重点,故不作详细介绍。(二)登记物品信息表登记物品信息表的结构如图3.5。(三)简单留言功能信息表留言信息表的结构如图3.6。(四)出价信息表出价信息表的结构如图3.7。(五)关注物品信息表关注物品信息表的结构如图3.8。(六)购买物品信息表购买物品信息表的结构如图3.9。(七)公告栏信息表公告栏信息表的结构如图3.10。图3.4 会员信息表的结构图3.5 登记物品信息表的结构图3.6 留言信息表的结构图3.7 出价信息表的结构图3.8 关注物品信息表的结构图3.9 购买物品信息表的结构图3.10 公告栏信息表的结构4. 详细设计4.1 会员模块4.1.1 设计方案在设计会员模块时考虑到了两种方案:第一种方案:会员注册包括拍卖方会员注册和竞拍方会员注册。会员注册模块用于对参与拍卖和参与竞拍的用户的信息进行管理。拍卖方只有会员注册后才能进行拍品的登记和发布;竞拍方也是只有已注册的用户才能够使用本系统的所有功能,而对于非会员的用户来说只能使用商品浏览等有限的功能而不能参与竞拍活动。第二种方案:所有注册的用户可以直接参与拍卖和竞标。当然同样,对于非会员的用户来说只能使用商品浏览等有限的功能而不能参与竞拍活动。本系统选用第二种方案。本系统所设计的拍卖系统是基于c2c模式的,已注册的用户可以直接参与拍卖和竞标。在会员模块中,完成的任务是会员注册、会员登录和退出等功能的设计。为了实现会员模块的设计,在拍卖网站上,需有这些php文件组成:会员注册文件(包含rigister.php、rigisterconfirm.php和add_user.php三个文件)、会员登录文件(包含login.php和loginconfirm.php两个文件)、会员退出登录文件(只包含一个文件logout.php)。这些文件的实现在后面各节中有详细介绍。4.1.2 会员注册为实现会员注册功能,需包含以下部分:会员信息表(users)、会员注册表单文件(register.php)、会员注册信息确认文件(registerconfirm.php)和添加新会员文件(add_user.php)。它们的关系如图4.1。register.phpregisterconfirm.phpadd_user.php用户图4.1会员注册文件流程图另外需注意的是,在用户注册时应先阅读本系统的网站声明,用户同意后继续注册。(一)会员注册表单文件的实现这个php形式文件(register.php)其实可用html形式文件(register.html)替代(只是不同的扩展名称),可见没什么新东西(主要用html表单语言编写,没有php代码)。有一些html语言基础的读者就可以读懂源代码。该文件运行后如图4.2。值得注意的是用提交表单方法转入另一个php文件(registerconfirm.php)。这部分在文件中实现的代码是:内容略图4.2 会员注册表单(二)会员注册信息确认文件的实现这个文件(registerconfirm.php)要用到大量的php代码,其主要功能是检查前个页面(用到的文件是会员注册文件register.php)用户填写信息的正确性(符合系统的要求)。如对密码(password)和电子邮箱地址(email)的检查,代码如下:?phpif(empty($password) | empty($rpassword) die( 没有输入密码或确认密码,请返回填写);elseif ( (strlen($password) 20) die(无效的密码,密码太短或太长,请返回修改);elseif ( !(strlen($password) = strlen($rpassword) ) die( 密码不匹配!请返回修改 );elseif( !($password = $rpassword) die( 密码不匹配!请后退修改 );else for ($i=0;$istrlen($password);$i+)echo *;if(empty($email) die(您没有输入电子邮箱地址,请返回填写);elseif ( (strlen($email) 50) die(无效的电子邮箱地址,电子邮箱地址太长或太短,请返回修改);elseif(!ereg(,$email) die(无效的电子邮箱地址,没有发现符号,请返回修改);else echo $email;?文件中有如下代码: 内容略这样用户点击“继续”按钮(会员信息填写正确后方可见到,否则显示出错信息)就进入下一个页面(用到的文件是add_user.php)了。该文件运行后如图4.3。图4.3 注册确认页面(三)添加新会员文件的实现这一部分用到的php代码具有很大的技巧性,且与数据库(mysql)紧密相关。代码的开始部分是与数据库连接的一些代码,代码如下:为了数据库的成功运行和满足拍卖系统的要求,这里也需要一些特殊的检查。如对用户名(id)的唯一性检查和对email的唯一性检查(防止不同会员重复使用)等。其中对用户名(id)的检查代码如下:?php$query=select id from users where id=.$id.; $result=mysql_query($query); if($row=mysql_fetch_array($result) die( 很抱歉,用户 .$id. 已经注册过了! ); ?若用户成功注册(否则显示出错信息),则显示会员注册成功信息(根据不同会员信息有所不同)如图4.4。图4.4 注册成功信息页面4.1.3 会员登录和退出这一节内容包含三个php文件:会员登录表单文件(login.php)、确认登录文件(loginconfirm.php)和会员退出登录文件(logout.php)。(一)会员登录表单文件的实现这个文件(login.php)和注册表单文件(register.php)形式一样,只是更简单一些。该文件运行后如图4.5。图4.5 会员登录表单(二)确认登录文件的实现这个文件与前面的文件有所不同。它不仅包含检查(检验)信息、数据库连接,而且还用到用户会话(session, php4的新功能)。这里主要说明session的用法。该文件最后部分的php代码如下:这个用法并不是作者的新发现,但它的确很重要,否则会员跟踪(见后文)就无从谈起。用户成功登录后,会话的信息会保存在服务器的硬盘中。(三)会员退出登录文件的实现这个部分只包含一个文件(logout.php),很精巧。该文件的核心代码是:?phpsession_start();/会话开始if(session_is_registered(id) /已登录的会员session_unregister(id);echo 您已经成功退出系统!欢迎下次再来!;else /如果用户没有登录的话die(您还没有登录呢!);4.2 物品登记和修改4.2.1 物品登记 设计方案会员在完成会员注册之后,如果想拍卖物品,就可以进行拍卖物品的登记了。会员登录后可看到物品登记主页面,在这个页面上可以登记想拍卖的物品,也可以查看到已经登记的拍卖物品并加以修改。在设计时要注意的是,物品数量可能很多,可能涉及的物品种类也很多,为了便于买卖双方的进行和方便对物品的管理,系统要求对物品分类存储管理。下面是以类别为着眼点进行模块设计。第一种设计方案:拍卖方首先选择物品的类别,这样物品的类别就固定(当然如果需要,还可修改类别)了。然后在这个类别下登记物品和修改物品信息。第二种设计方案:拍卖方直接进入物品登记界面,进行物品登记,并在其中依据物品类别和自身判断自行选择类别,故对卖主的要求高了一些。第一种方案适合较大型的电子商务网站。作者选择了第二种设计方案,原因是本系统规模不大,面对的用户群体是高素质的大学生,并且他们的拍品(类型)比较丰富。这种方案的实现方法简单,灵活性大,物品登记迅速快捷。在具体实现时,应先有一个物品信息数据库表。物品登记模块文件包括:登记物品文件(包含addproduct.php和addproconfirm.php两个文件)和个人拍卖物品查看修改文件(包含saleproduct.php、changeproduct.php和changeproconfirm.php三个文件)。它们的关系如图4.6。addproduct.php登记物品addproconfirm.php登记确认saleproduct.php查看个人物品changeproduct.php修改物品用户changeproconfirm.php修改物品确认图4.6 物品登记修改文件流程 登记物品功能的实现在这一部分中,首先介绍物品类别显示的自动化实现,然后介绍登记物品表单文件(addproconfirm.php)以及确认登记文件(addproconfirm.php)的实现。(一)物品类别显示的自动化实现由于物品类别

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论