《PHP动态网站毕业论文.doc》由会员分享,可在线阅读,更多相关《PHP动态网站毕业论文.doc(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、清远职业技术学院计算机应用系毕 业 论 文题 目: PHP动态网站设计 系 别: 计算机应用系 专 业: 网络技术2班 姓 名: 指导教师: 黄 华 目 录摘要11 绪论31.1中国网店系统发展现状31.2系统开发背景31.3主要内容42 关键技术介绍42.1 HTML简介42.2 PHP技术52.2.1 PHP简介52.2.2 PHP开发平台62.2.3 PHP文件组成62.3 访问数据库的实现方法62.4 MYSQL数据库72.4.1 MYSQL简介72.4.2MYSQL特点特性72.4.3 MYSQL数据库应用环境83 系统分析与设计83.1概述83.2需求分析83.2.1需求分析概述8
2、3.2.2系统的项目规划93.3 开发工具94 系统二次开发94.1 WAMP环境安装,ECSHOP安装与模版安装;94.2去除版权与标志94.3后台添加订单备注功能134.4将订单状态设为等待客户确认164.5自定义商品扩展名功能184.6实现多货币解决方案214.7采用AJAX技术更新商品内容页商品数量284.8采用AJAX技术更新购物车商品数量294.9商品展示放大镜效果374.10增加商品颜色选择功能544.11商品组合套餐功能604.12限时购功能开发65结论67致 谢68 清远职业技术学院计算机应用系 毕业论文摘要21世纪以来,人类经济高速发展,人们的生活发生了日新月异的变化,特别
3、是计算机的应用以及普及到经济和社会生活的各个领域。为了让消费者网的购物过程变得简单、方便、安全、快捷,网上商城购物城了一新型而热门的购物方式,开发该系统的好处有:第一,现在的电脑普及率越来越高了,邮购的方式也被多数人所认同,这就造就了网上销售成为新兴而热门的行业。第二,网上销售24小时营业,只要将产品信息放在网上,就可以24小时营业了。第三,开店需要的费用低,房租,水电,装修,员工薪水统统不用考虑,只要一个小小的工作室,还有一个仓库就可以了。第四,没有地区限制,只要是上网的用户都可以成为顾客,网上销售的好处远不止这些。因此,网上商城购物系统是一种具有交互功能的商业信息系统,它在网络上建立一个虚
4、拟的购物商城,使购物过程变得轻松、快捷、方便。而由于独立开发一个完善的网店系统是一件繁杂的问题,而对一个开源系统进行二次开发就显得方便很多。关键词:网店系统;二次开发;PHPAbstract21st century, mankinds rapid economic development, peoples lives rapid changes, especially the application of computer and spread to all areas of economic and social life.In order to network the consumer s
5、hopping process easy, convenient, safe, fast, online shopping mall the city a new and popular way to shop, to develop the benefits of the system are: first, the computer penetration rate is getting higher and highermail order most people agree, this has created an online sales to become the new hot
6、industry. Secondly, the online sales 24 hours a day, as long as the product information on the web, you can 24 hours a day. Shop the cost is low, rent, utilities, renovation, staff salary is all without considering, as long as a small studio, a warehouse can be. Fourth, there is no regional restrict
7、ions, as long as the Internet user can become a customer, the benefits of online sales is far more than that.Therefore, online shopping mall system is an interactive feature of the business information systems on the network to create a virtual shopping mall, and make the shopping process easy, fast
8、 and convenient. Independently developed a comprehensive online store system is a complicated issue, an open source system for secondary development, it becomes a lot easier.Keywords: shop system; secondary development; the PHP1 绪论 1.1中国网店系统发展现状在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等
9、各个方面发挥着重要的作用.因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。现今的社会,人们已经离不开网络,网络已经成为人与人之间交流的一种形式,它能够把复杂的事情简单化。日前公布的一项研究结果显示,我国电子商务产业近年来发展迅速,目前网店系统 总数已经超过十万家。该项研究是由上海东方网诚数据科技有限公司进行,研究对象包括全部拥有独立域名和网上商店系统的网站,以及部分租用第三方平台、具有一定规模的网上商店,但不包括设在易趣、淘宝、易拍等拍卖网站上的店铺。一个地区网上商店数量的多少,是衡量这个地区电子商务产业活跃程度的重要
10、指标。目前中国电子商务最发达的地区是广东、北京、浙江、上海,这四个地区集中了全国的网上商店,其中又以广东最多,占全国总数的。我国电子商务次发达的地区包括福建、四川、江苏、山东等省,这四个省份的网上商店占全国总量的。研究显示,尽管我国网上商店总体上集中在经济较发达地区,但全国的消费者都能获得水平基本相当的服务。通过邮政快递,网上商店的商品,几乎可以送达所有乡镇。使用送货价格较为便宜的专业快递公司,的县级市居民都能收到网上订购的商品。目前,我国互联网上展示的商品总数约为万件。网上商品数量最多、品种最全的是图书、音像、鲜花、电子产品配件;经营商家最多、竞争最激烈的是鲜花、手机、化妆品、成人用品。网上
11、商店的迅速发展,在很大程度上是因为它具有很多传统商业活动所不具有的优势。比如,网上商店具有数量优势,用户只需点击鼠标,就可以看到目前市面上正在出售的几乎所有同类产品,这是任何线下商家都难以做到的。研究还显示,目前中国电子商务的发展还存在一些缺陷,特别是网上购物的价格与品质方面还存在不少问题,消费者在进行网上购物时必须谨防价格陷阱。2。1.2系统开发背景21世纪以来,人类经济高速发展,人们的生活发生了日新月异的变化,特别是计算机的应用以及普及到经济和社会生活的各个领域。为了让消费者网的购物过程变得简单、方便、安全、快捷,网上商城购物城了一新型而热门的购物方式,开发该系统的好处有:一时现在的电脑普
12、及率越来越高了,邮购的方式也被耕读偶的人认同,这就早就了网上销售成为新兴而热门的行业。二是网上销售24小时营业,只要将产品信息放在网上,就可以24小时营业了。三是开门市的费用低,房租,水电,装修,员工薪水统统不用考虑,只要一个小小的工作室,还有一个仓库就可以了。四是没有地区限制,只要是上网的用户都可以成为顾客,网上销售的好处远不止这些。因此,网上商城购物系统是一种具有交互功能的商业信息系统,它在网络上建立一个虚拟的购物商城,使购物过程变得轻松、快捷、方便。1.3主要内容本设计共分为四章,主要包括:第1章 绪论:介绍本课题的背景和意义,国内外企业信息门户网站的现状及本文的主要内容以及论文结构。第
13、2章 相关理论与技术:本章主要介绍了PHP技术,PHP开发平台、和数据库访问方法,HTML基础知识及流媒体技术的介绍。第3章 系统分析与设计:本章首先分析了本设计题目的系统目标。然后,进一步二次开发出系统的功能需求。最后,给出了数据库管理、开发本系统所选择的开发工具和系统总体设计结构框图。第4章 系统实现:本章介绍了ECshop网店系统二次开发后的主体,包括前台界面实现和后台管理界面的实现,均包括了功能介绍、界面实现以及关键代码介绍。2 关键技术介绍2.1 HTML简介HTML是Hypertext Markup Language(超文本标记语言)的缩写,它是构成Web页面(Page)的主要工具
14、,是用来表示网上信息的符号标记语言。在网上,如果要向全球范围内出版和发布信息,需要有一种能够被广泛理解的语言,即所有的计算机都能够理解的一种用于出版的“母语”。WWW (World Wide Web)所使用的出版语言就是HTML语言。通过HTML,将所需要表达的信息按某种规则写成HTML文件,通过专用的浏览器来识别,并将这些HTML“翻译”成可以识别的信息,就是我们现在所见到的网页。HTML的功能主要有:(1) 出版在线的文档,其中包含标题、文本、表格、列表以及照片等内容。(2) 通过超链接检索在线的信息。(3) 为获取远程服务而设计表单,可用于检索信息、定购产品等。(4) 在文档中直接包含电
15、子表格、视频剪辑、声音剪辑以及其他一些应用。HTML实际是组合成一个文本文件的一系列标签。HTML标签通常是英文词汇或缩略语(如P代表Paragragh),但它们与一般文本有区别,因为它们放在小三角括号里,并且是成对出现的。每当使用一个标签-如,则必须以另一个标签将它关闭。一个HTML文件大体分为以下几部分:网页标题网页的内容其中:.:表示这是一个HTML文件.:表示这是网页的头部分.:网页的标题. :网页的正文部分2.2 PHP技术2.2.1 PHP简介PHP(Hypertext Processor)是目前最常见的用来生成动态网页的工具之一,也是一种易于学习和使用的Web服务器端脚本描述语言
16、。它是一种HTML(Hypertext Markup Language, 超文本链接标示语言)内嵌式的语言(类似于IIS上的ASP),而且PHP的语法融合了Unix Shell、C、C+、Java、Perl以及PHP自己的特性,同传统的CGI或者Perl相比,PHP的语法规则更简单,开发效率更高。此外,PHP4.0的源代码是完全公开的。任何热心于PHP的程序员都可以为PHP添加新的函数库,这使得PHP更有活力。目前,可用于编写Web服务器端脚本的语言不下几十种,但比较常用的却只有PHP、ASP、Perl、JSP等有限的几种,同其他脚本描述语言相比,PHP有其自身的优势:(1)没有运行费用;(2
17、)基于服务器端;(3)强大的数据库支持;(4)PHP最强大、最突出的特性在于它能支持大量的数据库,使得编写基于数据库的网页变得越来越简单;(5)跨平台; PHP是一种跨平台的服务器端脚本描述语言。PHP可以安装在Unix、Linux或者Windows平台上,然后配合相应的Web服务器来提供相应的服务,因此用PHP写出来的程序可以非常轻易地移植到不同的操作系统平台上。嵌入到HTML。PHP可以直接嵌入到HTML内部,而不需要通过编译,因此PHP是解释型的语言(Interpret),使用起来很方便。(6)简单高效。和Java、Perl、C+等程序设计语言不同,PHP坚持以基本语言为基础,但同时它的
18、功能又能够强大到足以支持任何类型的Web站点。(7)支持多种网络协议,良好的可扩充性;它在这方面支持了相当多的通讯协议,这主要包括: 与电子邮件相关的:IMAP POP3; 网管系统:SNMP; 网络新闻:NNTP; 账号共用:NIS; 全球信息网:HTTP及Apache; 目录协议LDAP以及其他网络的相关函数。除此之外,用PHP写出来的Web后端CGI程序,可以很容易地移植到不同的操作系统上。2.2.2 PHP开发平台 目前大多数支持PHP的网站都采用Linux作为操作系统,Apache作为Web服务器,Mysql作为数据库(LAMP)的方案。Linux和Apache都是功能强大的免费软件
19、,对硬件要求不高,是中小型网站的理想平台。所需软件: (1)PHP源程序C语言代码。 (2)MySQL源程序 (3)Apache 源程序 (4)Linux系统 以上这些软件因为都免费软件,所以在安装了Linux之后,这些软件都是随操作系统装上(需要在安装时选中相应的软件包),而且环境基本上都配好,只要启动相应的服务就可以了。启动Apache服务:service htt pd start启动MySQL数据库:mysqld_safe - -user=mysql一切配好之后,我们就可以利用Mozilla来访问我们的PHP程序了。2.2.3 PHP文件组成PHP文件以结尾,一个*.php文件是一个文本
20、文件,它可以用Dreamweaver来进行设计。一般来说,PHP文件由HTML标记和JQuery或者JavaScript程序代码混杂在一起构成的,它是一个标准的网页。如下面例子所示:2.3 访问数据库的实现方法(1)首先介绍一下web数据库架构:浏览器服务器PHP引擎Mysql服务器如2-1图所示: 1 2 3 6 5 4图2-1 web数据库架构从web查询数据的基本步骤: Step1: 检查并过滤来自用户的数据;Step2: 建立一个适当的数据库连接;Step3: 查询数据库;Step4: 获取查询结构;Step5: 将结果显示给用户。(2)此系统我采用了WAMP作为开发环境,它是一个将P
21、HP与Mysql5.0集成起来的开发环境,所以当服务器打开后,连接数据库的方法较为简洁,可用一下语句: 连接数据库mysql_connect打开一个到MySQL服务器的链接;语法格式:resource mysql_connect (主机,用户名,密码) ;选择数据库:mysql_select_db(数据库名称,链接标示符);关闭数据库:mysql_close();2.4 MYSQL数据库2.4.1 MYSQL简介MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。这导致了一个使
22、用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发
23、者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。 2.4.2MYSQL特点特性(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统(3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby
24、和Tcl等。(4)支持多线程,充分利用CPU资源(5)优化的SQL查询算法,有效地提高查询速度(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径(8)提供用于管理、检查、优化数据库操作的管理工具(9)可以处理拥有上千万条记录的大型数据库 2.4.3 MYSQL数据库应用环境与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,
25、如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。3 系
26、统分析与设计3.1概述本章在阐述系统需求分析和系统设计目标的基础上,对“ECshop网店系统”的功能进行二次开发。3.2需求分析3.2.1需求分析概述(1)商家子系统:该模块实现商家拥有的功能。它需要拥有的功能除了对商品信息进行管理之外,还可以对商家自身信息进行管理。商家的操作流程:首先已经注册商家进行登录,如果没有注册则进行注册。接着,进行相应的管理操作,如层架商品信息、修改商品信息、删除商品信息、修改本商家信息等。完成操作后则推出系统。(2)顾客子系统:顾客子系统主要实现两个功能:购物子模块和顾客信息修改子模块。顾客信息子模块实现顾客对自己相关信息的维护和管理,如昵称、邮寄地址、联系电话灯
27、基本信息。而购物子模块主要实现顾客通过该模块进行购物,其主要的实现:首先顾客根据系统提供的信息查找感兴趣的商品以及信息;如有合适的商品,则提交该商品的购买请求;接着判断当前客户是否已经登录,如果已经登录,则直接提交商品信息与该顾客的信息组合成一个购物单,表示购物成功;如果尚未登录且该顾客已注册顾客,则顾客进行登录,该顾客信息和购物申请组合成购物单,表示购物成功;如果该顾客还没有注册,则要求该顾客进行注册,待顾客注册成功后,顾客信息与购物申请组合成购物单表示过购物成功。3.2.2系统的项目规划ECshop网店系统是一个功能完善的购物类网站,由前台客户界面和后台新闻管理两个大部分组成。我们只需要对
28、相应需要的功能进行二次开发,开发项目如下:01、ECShop版权与标志02、后台增加订单备注功能03、将订单状态设为等待客服确认04、自定义商品扩展名功能05、多货币解决方案06、使用Ajax更新商品页商品购买数量07、使用Ajax更新购物车商品购买数量08、商品展示放大镜效果9_产品页的颜色选择器功能开发10_产品组合功能开发11_限时购功能开发3.3 开发工具本系统是在Windows XP操作平台上运行,利用了EclipsePHP Studio v1.2.2工具和WAMP集成环境开发设计。4 系统二次开发4.1 WAMP环境安装,ECSHOP安装与模版安装;4.2去除版权与标志一、去掉头部
29、TITLE部分的 ECSHOP演示站 Powered by ecshop 在后台-商店设置 - 商店标题 修改 打开/includes/lib_main.php查找 $page_title = $GLOBALS_CFGshop_title . - . Powered by ECShop;修改Powered by ECShop二、去掉友情链接部分在后台 - 系统设置 - 友情链接修改三、去掉底部的Powered by ecshop 270打开 /js/common.js将以下代码删除onload = function()var link_arr = document.getElementsByT
30、agName(String.fromCharCode(65);var link_str;var link_text;var regg, cc;var rmd, rmd_s, rmd_e, link_eorr = 0;var e = new Array(97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122 ); try for(var i = 0; i link_arr.length; i+) lin
31、k_str = link_arr.href; if (link_str.indexOf(String.fromCharCode(e22, 119, 119, 46, e4, 99, e18, e7, e14, e15, 46, 99, 111, e12) != -1) if (link_text = link_arr.innerText) = undefined) throw noIE; regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67,
32、 83, e7, e14, e15); if (cc = regg.exec(link_text) != null) if (link_arr.offsetHeight = 0) break; link_eorr = 1; break; else link_eorr = link_eorr ? 0 : link_eorr; continue; / IE catch(exc) for(var i = 0; i link_arr.length; i+) link_str = link_arr.href; if (link_str.indexOf(String.fromCharCode(e22, 1
33、19, 119, 46, e4, 99, 115, 104, e14, e15, 46, 99, 111, e12) != -1) link_text = link_arr.textContent; regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e7, e14, e15); if (cc = regg.exec(link_text) != null) if (link_arr.offsetHeight = 0) break;
34、 link_eorr = 1; break; else link_eorr = link_eorr ? 0 : link_eorr; continue; / FF try rmd = Math.random();rmd_s = Math.floor(rmd * 10);if (link_eorr != 1) rmd_e = i - rmd_s; link_arrrmd_e.href = String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46, 101, 99, 115, 104, 111, 112, 46, 99
35、, 111, 109); link_arrrmd_e.innerHTML = String.fromCharCode( 80, 111, 119, 101, 114, 101, 100,38, 110, 98, 115, 112, 59, 98, 121,38, 110, 98, 115, 112, 59,60, 115, 116, 114, 111, 110, 103, 62, 60,115, 112, 97, 110, 32, 115, 116, 121,108,101, 61, 34, 99, 111, 108, 111, 114, 58, 32, 35, 51, 51, 54, 54,
36、 70, 70, 34, 62, 69, 67, 83, 104, 111, 112, 60, 47, 115, 112, 97, 110, 62,60, 47, 115, 116, 114, 111, 110, 103, 62); catch(ex) 打开模板文件夹的 library/page_footer.lbi删除 foreach from=$lang.p_y item=pv$pv/foreach$licensed 四、修改后台页面的logo图片 替换/admin/images/ecshop_logo.gif 替换/admin/images/login.png五、删除右上角的“关于ECS
37、HOP” 打开/admin/templates/top.htm删除: $lang.about六、中部 ECSHOP 管理中心, 和底部的版权所有 打开 /language/zh_cn/admin/common.php修改 $_LANGcp_home = ECSHOP 管理中心;修改 $_LANGcopyright = 版权所有 © 2005-2009 上海商派网络科技有限公司,并保留所有权利。;4.3后台添加订单备注功能一、执行SQL语句在phpmyadmin下选择ecshop数据库,执行以下语句,创建ecs_order_noteCREATE TABLE IF NOT EXISTS
38、ecs_order_note ( note_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT, order_id mediumint(8) unsigned NOT NULL, note_value text NOT NULL, PRIMARY KEY (note_id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;二、添加订单备注语言包 /languages/zh_cn/admin/order.php/* 订单备注*/$_LANGlabel_order_note = 客服人员订单备注
39、:;三、修改订单配置文件 /admin/order.php/*- */- 保存订单备注/*- */ elseif ($_REQUESTact = save_ordernote) $oid = $_REQUESToid; $oval = $_REQUESTnoteVal; $sql = select count(note_value) from . $ecs-table(order_note) . where order_id = $oid; $note_count = $db-getOne($sql); if ($note_count = 0) $sql = insert into . $ec
40、s-table(order_note) . (order_id,note_value) values( . $oid . , . $oval . ); else $sql = update . $ecs-table(order_note) . set note_value = . $oval . where order_id = . $oid; $db-query($sql); /echo 订单备注已保存!;四、取得订单备注,以下代码/* 取得能执行的操作列表 */ $operable_list = operable_list($order); $smarty-assign(operable_
41、list, $operable_list);后面添加/* 取得订单备注- */ $sql = SELECT note_value FROM . $ecs-table(order_note) . WHERE order_id = $orderorder_id; $order_note = $db-getOne($sql); $smarty-assign(order_note, $order_note);五、修改后台订单模版文件 /admin/templates/order_info.htm,以下代码 $lang.label_action_note 后面添加 $lang.label_order_note $order_note 六、利用Ajax技术来实现立即保存,在/admin/templates/order_info.htm的JS代码下面添加/* * 保存订单备注 */ function saveOrderNote(oid,parm) var noteVal = parm.value; Ajax.call(order.php?is_ajax=1&act=save_ordernote&oid=+oid+¬eV
限制150内