收藏 分享(赏)

毕业设计(论文)-商城网站设计樱桃时装-居然之家(全套源码).doc

上传人:QQ153893706 文档编号:2292424 上传时间:2018-09-09 格式:DOC 页数:28 大小:678KB
下载 相关 举报
毕业设计(论文)-商城网站设计樱桃时装-居然之家(全套源码).doc_第1页
第1页 / 共28页
毕业设计(论文)-商城网站设计樱桃时装-居然之家(全套源码).doc_第2页
第2页 / 共28页
毕业设计(论文)-商城网站设计樱桃时装-居然之家(全套源码).doc_第3页
第3页 / 共28页
毕业设计(论文)-商城网站设计樱桃时装-居然之家(全套源码).doc_第4页
第4页 / 共28页
毕业设计(论文)-商城网站设计樱桃时装-居然之家(全套源码).doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、 源码扣扣 153893706商城网站设计樱桃时装-居然之家2009 级计算机网络技术摘要:电子商务网站是在 Windows 系统环境下,以 Mysql 数据库开发平台,Apache 网络信息服务器,采用 PHP(Hypertext Preprocessor)技术开发的网上购物系统。本系统分为前台与后台两部分组成,前台主要针对消费者,主要包括商品展示、会员注册、购物车管理、商品收藏管理、订单管理等功能模块;后台由管理员使用,主要包括商品管理、进货管理、订单管理、系统管理等功能模块。通过这些功能的实现,给商家提供一个动态、交互式、具有商品提供、系统管理等功能的电子商务平台。关键字:电子商务网站,

2、PHP 开发技术,数据库开发,网络购物Mall Web Design(2009Computer network technology)Abstract: E-commerce sites is in Windows system environment, with Mysql database development platform, and Apache Internet information server, using PHP (Hypertext Preprocessor) technology development of online shopping system.This s

3、ystem is divided into two parts of the front desk and the background, the front office mainly for consumers, mainly including commodity exhibition, the register, shopping cart management, goods collection management, order management function module; The background by the controller used, mainly inc

4、luding commodities management, purchase management, order management, system management function module. Through these function, to give businesses to provide a dynamic, interactive, has the goods, the function such as management system to provide e-commerce platform.Keyword:E-commerce sites;HP deve

5、lopment technology;Database development ;Network shopping 源码扣扣 153893706目录摘要: 11、绪论 .21.2 技术可行性分析 31.2.1 动态网站 31.2.2 PHP 语言 31.2.3 MySQL 数据库 41.2.4 动画的制作软件 42、商城设计与功能开发 .42.1 去除 ECSHOP 版权与标志、 .42.2 ECSHOP 后台为订单增加备注功能 .62.3 将订单状态设为等待客户确认 62.4 商品扩展名功能开发 62.5 多货币解决方案 62.6 AJAX 更新购物车数量功能 .62.7 采用 AJAX 技

6、术实现产品页的购买数量 .62.8 ECSHOP 商品展示放大镜效果 .62.9 ECSHOP 增加商品颜色选择功能 .62.10 商品组合套餐功能 .62.11 限时购功能开发 .63、总结 .64、致谢 .71、绪论1.1 网站开发背景在已跨入 21 世纪的今天,随着时代的飞速发展,计算机网络也在飞速的发展和普及,人们也越来越多的在网上交流、交易、通讯等等。网络正向人们展示出一片不同于传统交流互动的新天地。中国网络上的个人网站设计或者精致小资,或者大气轩昂,内容更是五彩缤纷,奇思叠出,在商业网站的另一边,筑起了一道中文网络信息的亮丽风景。由于他们的存在,为中国互联网的支持者提供了一个坚实支

7、持群体,因为大多数个人站长都是忠实的网虫,同时也为商业网站的发展提供了有益的补充。源码扣扣 1538937061.2 技术可行性分析基于 PHP 语言和 MySQL 数据库的动态网站开发技术.1.2.1 动态网站动态网站并不是指具有动画功能的网站,而是指通过数据库进行架构的网站。 动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。动态网站体现在网页一般是以 asp,jsp,php,aspx 等结束,而静 态 网 页 一般是 HTML 结尾,动态网站服 务 器 空间配置要比静态的网页要求高,费用也相应的高,不过动态网页利于网站内容的更新,适合企业建站。动 态 网

8、 站 功 能 特 点 : 动态网站可以实现交互功能,如用户注册、信息发布、产品展示、订单管理等等;动态网页并不是独立存在于服务器的网页文件,而是浏 览 器 发出请求时才反馈网页;动态网页中包含有服务器端脚 本 ,所以页面文件名常以 asp、jsp 、php 等为后缀。但也可以使用 ulr 静态化技术,使网页后缀显示为 HTML。所以不能以页面文件的后缀作为判断网站的动态和静态的唯一标准。动态网页由于存在特殊代码,所以相比较静态网页,其对搜 索 引 擎 的友好程度相对要弱一些。(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;(2)采用动态网页技术的网站可以实现更多的功能,如用户注

9、册、用户登录、在线调查、用户管理、订单管理等等;(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;(4)动态网页中的“?” 对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。1.2.2 PHP 语言PHP 是一种 HTML 内嵌式的语言,它 PHP 独特的语法混合了 C、Java 、Perl 以及 PHP 自创新的语法。用 PHP 做出的动态页面与其他的编程语言相比

10、,PHP 是将程序嵌入到 HTML 文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多;与同样是嵌入 HTML 文档的脚本语言 JavaScript 相比,PHP 在服务器端执行,充分利用了服务器的性能;PHP 执行引擎还会将用户经常访问的 PHP 程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是 PHP 高效率的体现之一。PHP 具有非常强大的功能,所有的 CGI 或者 JavaScript 的功能 PHP 都能实现,而且支持几乎所有流行的数据库以及操作系统。1.2.3 MySQL 数据库MySQL 是一种开 放

11、 源 代 码 的关系型数 据 库 管 理 系统(RDBMS) ,MySQL 数据库系源码扣扣 153893706统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。由于 MySQL是开放源代码的,因此任何人都可以在 General Public License 的许可下下载并根据个性化的需要对其进行修改,MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL 是管理内容最好的选择。 MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。MySQL 数据库的导入,有两种方法:1) 先导出数据库 S

12、QL 脚本,再导入;2) 直接拷贝数据库目录和文件。 在不同操作系统或 MySQL 版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 1.2.4 动画的制作软件Photoshop8.0 是目前最流行的图形、图像编辑设计软件,在数码影像处理图像编辑合成、广告设计、封面设计、美术绘画、网页设计等领域都被广泛地应用。(1)文字处理更加方便(2)增加的图层集使图层管理更有序。(3)新增图像功能:图像的剪切和剪裁更加方便。(4)将所有工具的选项板改进为工具选项放置在工作区顶部,方便选项参数的设置。时至今日 mysql 和 php 的结合绝对是完美.很多大型的网站也用到 mysql 数据库.mys

13、ql 的发展前景是非常光明的!2、商城设计与功能开发2.1 去除 ECSHOP 版权与标志、前台部分:1:去掉头部 TITLE 部分的 ECSHOP 演示站 Powered by ecshop前者在后台商店设置 - 商店标题修改后者打开 includes/lib_main.php$page_title = $GLOBALS_CFGshop_title . - . Powered by ECShop;修改这里的Powered by ECShop源码扣扣 1538937062.去掉友情链接部分在后台的友情链接管理里修改3.去掉底部的 Powered by ecshop 270打开 js/commo

14、n.js 删除第 244 行:onload = function()再打开模板文件夹的 library/page_footer.lbi删除 foreach from=$lang.p_y item=pv$pv/foreach$licensed后台部分:1.去除两张图片admin/images/ecshop_logo.gifadmin/images/login.png2.右上角的“关于 ECSHOP”打开 admin/templates/top.htm删除: $lang.about3.中部 ECSHOP 管理中心, 和底部的版权所有源码扣扣 153893706打开 language/zh_cn/a

15、dmin/common.php$_LANGcp_home = ECSHOP 管理中心;$_LANGcopyright = 版权所有 2005-2009 上海商派网络科技有限公司,并保留所有权利。2.2 ECSHOP 后台为订单增加备注功能1. 添加表:ecs_order_note;CREATE TABLE IF NOT EXISTS ecs_order_note (note_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT,order_id mediumint(8) unsigned NOT NULL,note_value text NOT NU

16、LL,PRIMARY KEY (note_id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;2.添加语言包 -languageszh_cnadminorder.php/* 订单备注*/$_LANGlabel_order_note = 客服人员订单备注:;3. 修改 admin/order.php 文件第 103 行,添加代码:/*- */- 保存订单备注/*- */ elseif ($_REQUESTact = save_ordernote)$oid = $_REQUESToid;$oval = $_REQUESTnoteVal;

17、$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 “ . $ecs-table(order_note) .“(order_id,note_value) values(“ . $oid . “,“ . $oval . “)“; else$sql = “update “ . $ecs-table(order_note) . “

18、set note_value = “ . $oval .“ where order_id = “ . $oid;$db-query($sql);/echo “订单备注已保存!“;源码扣扣 1538937064.在以下代码下加入/* 取得能执行的操作列表 */ $operable_list = operable_list($order);$smarty-assign(operable_list, $operable_list);/* 取得订单备注- */$sql = “SELECT note_value FROM “ . $ecs-table(order_note) .“ WHERE order

19、_id = $orderorder_id“;$order_note = $db-getOne($sql);$smarty-assign(order_note, $order_note);5.修改 admintemplatesorder_info.htm 文件,$lang.label_action_note在上面代码后面加入以下代码:$lang.label_order_note$order_note在本文件 admintemplatesorder_info.htm 的 JS 代码中加入下面内容/* 保存订单备注*/function saveOrderNote(oid,parm)var noteV

20、al = parm.value;Ajax.call(order.php?is_ajax=1function saveOrderResponse(result)/alert(result);删除订单时删除关联的订单备注 admin/order.php找到下面代码:/* 删除订单 */$db-query(“DELETE FROM “.$ecs-table(order_info). “ WHERE order_id = 源码扣扣 153893706$order_id“);$db-query(“DELETE FROM “.$ecs-table(order_goods). “ WHERE order_i

21、d = $order_id“);$db-query(“DELETE FROM “.$ecs-table(order_action). “ WHERE order_id = $order_id“);在后面直接加入以下代码:(单个删除)/*根据订单编号,删除对应订单备注 */$db-query(“DELETE FROM “ .$ecs-table(order_note) . “ WHERE order_id = $order_id“);批量删除,找到以下代码:约 3000 行后面/* 删除订单 */$db-query(“DELETE FROM “.$ecs-table(order_info). “

22、 WHERE order_id = $orderorder_id“);$db-query(“DELETE FROM “.$ecs-table(order_goods). “ WHERE order_id = $orderorder_id“);$db-query(“DELETE FROM “.$ecs-table(order_action). “ WHERE order_id = $orderorder_id“);直接加入以下代码:/*根据订单编号,删除对应订单备注 (批量删除)*/$db-query(“DELETE FROM “ .$ecs-table(order_note) . “ WHER

23、E order_id = $orderorder_id“);在以下代码$GLOBALSdb-query(“DELETE FROM “.$GLOBALSecs-table(order_info). “ WHERE order_id = $order_id“);$GLOBALSdb-query(“DELETE FROM “.$GLOBALSecs-table(order_goods). “ WHERE order_id = $order_id“);$GLOBALSdb-query(“DELETE FROM “.$GLOBALSecs-table(order_action). “ WHERE ord

24、er_id = $order_id“);后面加入以下代码/*根据订单编号,删除对应订单备注 */$GLOBALSdb-query(“DELETE FROM “.$GLOBALSecs-table(order_note). “ WHERE order_id = $order_id“);2.3 将订单状态设为等待客户确认1.修改includeslib_payment.php 文件,使网上支付成功后,订单状态为等待客户确认/* 修改订单状态为已付款 */$sql = UPDATE . $GLOBALSecs-table(order_info) .“ SET order_status = “ . OS

25、_CONFIRMED . “, “ .“ confirm_time = “ . gmtime() . “, “ .“ pay_status = $pay_status, “ .“ pay_time = “.gmtime().“, “ .“ money_paid = order_amount,“ .“ order_amount = 0 “.源码扣扣 153893706“WHERE order_id = $order_id“;$GLOBALSdb-query($sql);/* 记录订单操作记录 */order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED

26、, $pay_status, $note, $GLOBALS_LANGbuyer);修改为:/* 修改订单状态为已付款 */$sql = UPDATE . $GLOBALSecs-table(order_info) .“ SET order_status = “ . OS_UNCONFIRMED . “, “ .“ confirm_time = “ . gmtime() . “, “ .“ pay_status = $pay_status, “ .“ pay_time = “.gmtime().“, “ .“ money_paid = order_amount,“ .“ order_amoun

27、t = 0 “.“WHERE order_id = $order_id“;$GLOBALSdb-query($sql);/* 记录订单操作记录 */order_action($order_sn, OS_UNCONFIRMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS_LANGbuyer);2.修改根目录下的 flow.php 文件,使用余额付款时订单状态为等客服确认,只需把/$orderorder_status = OS_CONFIRMED;注解掉,或都改为$orderorder_status = OS_UNCONFIRMED;/* 如果订单金额为

28、 0(使用余额或积分或红包支付) ,修改订单状态为已确认、已付款 */if ($orderorder_amount $lang.goods_name$sort_goods_name下增加:$lang.goods_name_extends$sort_goods_name_extends在$goods.goods_name|escape:html下增加:$goods.goods_name_extends|escape:html打开 admin/templates/good_info.html在$lang.lab_goods_name$lang.select_fonthtml_options opt

29、ions=$lang.font_styles selected=$goods_name_style$lang.require_field下面增加:源码扣扣 153893706$lang.lab_goods_name_extends打开/languages/zh_cn/admin/goods.php$_LANGgoods_name = 商品名称;下面增加$_LANGgoods_name_extends = 商品名称扩展;$_LANGlab_goods_name = 商品名称:;下面增加$_LANGlab_goods_name_extends = 商品名称扩展:;打开 admin/good.php

30、在$sql = “UPDATE “ . $ecs-table(goods) . “ SET “ .“goods_name = $_POSTgoods_name, “ .下增加:“goods_name_extends = $_POSTgoods_name_extends, “ .Themes/yintao/goods.dwt217 行$goods.goods_style_name$goods.goods_name_extends2.5 多货币解决方案在 shop_config 表中加入记录INSERT INTO ecs_shop_config (id ,parent_id ,code ,type

31、 ,store_range ,store_dir ,value ,sort_order )VALUES (NULL , 1, rate, text, , , 1,0.71,0.69,6.85,1.45, 1), (NULL , 1, ybprice_format, text, , , 修改languageszh_cnadminshop_config.php 文件$_LANGcfg_namerate = 货币汇率;$_LANGcfg_nameybprice_format = 英镑格式;$_LANGcfg_nameaprice_format = 欧元格式;$_LANGcfg_namecprice_

32、format = 人民币格式;源码扣扣 153893706$_LANGcfg_nameaoprice_format = 澳元格式;$_LANGcfg_descrate = 输入规则按照和美元的汇率进行输入US,EUR,BritishPound,China,Austrilian;$_LANGcfg_descybprice_format = 显示英镑格式,%s 将被替换为相应的价格;$_LANGcfg_descaprice_format = 显示欧元格式,%s 将被替换为相应的价格;$_LANGcfg_desccprice_format = 显示人民币格式,%s 将被替换为相应的价格;$_LANG

33、cfg_descaoprice_format = 显示澳元格式,%s 将被替换为相应的价格;在网站模版目录 themes/当前模板/library/page_header.lbi在上一行代码后面加入以下代码美元 英镑欧元人民币澳元在 init.php 文件最后插入以下代码$url_this=“http:/“.$_SERVERHTTP_HOST.$_SERVERPHP_SELF.“?id=“.$_GETid;/echo $url_this;$smarty-assign(“url_head“,$url_this);$currency=$_GETcurrency;if ($currency!=“)$

34、_SESSIONcurrency=$currency;if ($_SESSIONcurrency=)$_SESSIONcurrency=USD;echo $_SESSIONcurrency;修改inlucdeslib_common.php 里的 price_format 函数/* 格式化商品价格* access public* param float $price 商品价格* return string*/function price_format($price, $change_price = true)$currency=$_SESSIONcurrency;$rate=explode(,$

35、GLOBALS_CFGrate);if($currency=USD)$price=$price*$rate0;if($currency=CNY)$price=$price*$rate3;源码扣扣 153893706if($currency=EUR)$price=$price*$rate1;if($currency=GBP)$price=$price*$rate2;if ($change_price break;case 1: / 保留不为 0 的尾数$price = preg_replace(/(.*)(.)(0-9*?)0+$/, 123, number_format($price, 2,

36、., );if (substr($price, -1) = .)$price = substr($price, 0, -1);break;case 2: / 不四舍五入,保留 1 位$price = substr(number_format($price, 2, ., ), 0, -1);break;case 3: / 直接取整$price = intval($price);break;case 4: / 四舍五入,保留 1 位$price = number_format($price, 1, ., );break;case 5: / 先四舍五入,不保留小数$price = round($pr

37、ice);break;else$price = number_format($price, 2, ., );switch($currency)case USD:return sprintf($GLOBALS_CFGcurrency_format, $price);break;源码扣扣 153893706case EUR:return sprintf($GLOBALS_CFGaprice_format, $price);break;case GBP:return sprintf($GLOBALS_CFGybprice_format, $price);break; case AUD:return

38、sprintf($GLOBALS_CFGaoprice_format, $price);break; case CNY:return sprintf($GLOBALS_CFGcprice_format, $price);break; /return sprintf($GLOBALS_CFGcurrency_format, $price);修改表 order_infoALTER TABLE ecs_order_info ADD currency VARCHAR( 10 ) NOT NULL ,ADD new_money DECIMAL( 10, 2 ) NOT NULL 修改 flow.php

39、文件中/分成功能关闭$parent_id = 0;$orderparent_id = $parent_id;大约 1608 行左右插入以下代码$ordercurrency=$_SESSIONcurrency;$ordernew_money=price_format_hs($orderorder_amount);同时修改inlucdeslib_common.php 在里面新增加 price_format_hs 函数/* 用于支付换算* access public* param float $price 商品价格* return string*/function price_format_hs($

40、price, $change_price = true)$currency=$_SESSIONcurrency;$rate=explode(,$GLOBALS_CFGrate);if($currency=USD)$price=$price*$rate0;源码扣扣 153893706if($currency=CNY)$price=$price*$rate3;if($currency=EUR)$price=$price*$rate1;if($currency=GBP)$price=$price*$rate2;if($currency=AUD)$price=$price*$rate4;if ($ch

41、ange_price break;case 1: / 保留不为 0 的尾数$price = preg_replace(/(.*)(.)(0-9*?)0+$/, 123, number_format($price, 2, ., );if (substr($price, -1) = .)$price = substr($price, 0, -1);break;case 2: / 不四舍五入,保留 1 位$price = substr(number_format($price, 2, ., ), 0, -1);break;case 3: / 直接取整$price = intval($price);b

42、reak;case 4: / 四舍五入,保留 1 位$price = number_format($price, 1, ., );break;case 5: / 先四舍五入,不保留小数$price = round($price);break;else源码扣扣 153893706$price = number_format($price, 2, ., );return $price;在includesmodulespaymentpaypal.php大约 92 行一个 get_code 函数,function get_code($order, $payment)$paypal_currency=$

43、_SESSION“currency“; /新增加的$data_order_id = $orderlog_id;$data_amount = $orderorder_amount;$data_return_url = return_url(basename(_FILE_, .php);$data_pay_account = $paymentpaypal_account;$currency_code = $paypal_currency; /把下一行复制出来,并下行注掉,修改为这一行/$currency_code = $paymentpaypal_currency;在/admin/order.ph

44、p 文件里的 select 语句中加入 o.currency,o.new_money,在/admin/templetes/order_list.htm加入相关的内容。2.6 AJAX 更新购物车数量功能1、模板目录修改 flow.dwt 后面加入以下内容/* 1 else$num.val(1);return false;$num.change();var updateCount = function($e,$gid)/alert(update goodsID:+$gid+);var $count = parseInt($(“#num_“+$gid).val();if (isNaN($count

45、) $count = 1;alert(“商品数量必须输入数字“); $($e).val($count);if($count */(2)下以下内容的$goods.goods_number后面修改为以下内容供货紧张sub_one.jpg 和 add_one.jpg 拷贝到模板目录下的 images 目录里(3)$goods.subtotal修改为下一行源码扣扣 153893706$goods.subtotal(4)$goods.goods_price修改如下$goods.goods_price2、修改 flow.php(1) 、加入elseif($_REQUESTstep = update_cou

46、nt)flow_update_cart(array($_POSTrec_id=$_POSTchang_to),true);echojson_encode(array(message = $_LANGupdate_cart_notice);exit;(2)修改 flow_update_cart 函数/* 更新购物车中的商品数量* access public* param array $arr* return void*/function flow_update_cart($arr , $isAjax = false)foreach ($arr AS $key = $val)$val = intval(make_semiangle($val);if ($val table(cart).“ WHERE rec_id=$key AND session_id=“ . SESS_ID . “;$goods = $GLOBALSdb-getRow($sql

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报