admin 管理员组文章数量: 1086019
2024年3月8日发(作者:同步异步发电机)
2013年第8期 文章编号:1009—2552(2013)08—0036—03 中图分类号:TP393.092 文献标识码:A 基于PHP购物车的设计与实现 吴代文 (渭南师范学院传媒工程学院,陕西渭南714000) 摘要:利用Session方法设计并实现了一个购物车。利用Session的功能,可以将购物信息(商品 ID和购买数量)存储到Session变量中,Session方法将数据存储在服务器端的Session(”cart”)中。 Session方法实现的购物车运行稳定,性能良好,通常在线购物类网站都选择Session方法实现购 物车。 关键词:购物车;网站;Session;PHP Design and implementation of shoppingcart based on PHP WU Dai.wen (College of Media Engineering,Weinan Normal University,Weinan 714000,Shanxi Province,China) Abstract:In the paper,it designs and implements a shoppingcart by ASP.Using Session,we Call save shopping information(such as good ID and quantity)into Session variables.Then Session will save the information into Session(”cart”)at server.Shoppingcart by Session CaD-run stability wiht good performance.Usually,the line shopping sites choose Session to implement the shoppingcart. Key words:shoppingcart;website;Session;PHP 0 引言 近年来,随着电子商务的迅猛发展,各种类型的 电子商务网站大量涌现。电子商务网站中的购物车 一这样,当用户在应用程序的Web页之间跳转时,存 储在Session对象中的变量将不会丢失,而是在整个 用户会话中一直存在下去。利用Session的功能,可 以将购物信息(商品ID和购买数量)存储到Session 变量中 -6]。 直是各种动态Web编程技术(如ASP,PHP,JSP 和.NET等)要解决的首要问题l-】】。不同类型动态 Web编程技术实现购物车的代码会有所区别,但基 本原理是一致的。本文就以PHP动态Web编程技 术为例讲述如何设计和实现一个购物车。 2 购物车的设计和实现 利用Session实现购物车需要经过以下八,1、步骤。 (1)将商品放人购物车,代码如下 -9]。 ¥GoodlD=¥_POST[‘GoodlD’];//获取商品 ID 1 关键技术 购物车在线购物类网站中是非常重要的功能。 它是一个虚拟的购物篮,用户可以将自己喜爱的商 if(¥GoodID){//判断获取的商品ID是否为 空 品放入购物篮,同时也可以将不需要商品从你的购 物篮中拿出去。它的出现使网上购物显得非常的简 单、形象和人性化。要想在网站上实现购物车功能, 可以用Session技术 。 / 判断购物车¥一SESSION[’cart。]是否已经 存在,如果没有则创建购物车。 / 收稿日期:2013—01—04 Session对象存储特定用户会话所需的信息。 Session对象是在每一位访问者从Web站点或Web 应用程序中首次请求一个PHP页时创建的,它将保 留到默认的期限结束或通过脚本设置中止的期限。 一基金项目:陕西省教育科学“十二五”规划2012年度课题(SGHI2 438) 作者简介:吴代文(1979一),男,讲师,硕士,研究方向为远程教育、 教育信息检索。 36一
if(!isset(¥_SESSION[’cart’])){ ¥_SESSION[’cart’]=array(); ¥_SESSION[’items’]=0; ¥_SESSION[’total_price’]=。0.O0。; } / 判断购物车¥_SESs10N[’cart。]中某商品是 <tr><th colspan=”2”bgcolor=”# CCCCCC”>Item</th> <th bgcolor=”#cccccc”>Price</th> <山bgcolor=”#cccccc”>Quantity</th> <th bgcolor=”#cccccc”>Total</th> </tr> 否已经添加,如果没有则将商品数设置为1,否则 <?php 商品数自增l。 / if(isset(¥-SEssION[。cart’][¥GOodlD])){ ¥_SESSION[’cart‘][¥GoodlD]++; }else{ ¥_SESSION[‘catr。][¥GoodlD]=1; } / 计算购物车中商品总价格和总数目。 / ¥_SESSION[。total_price’]=calculate_price(¥一 SESSION[’cart‘]); ¥一SESSION[’items’]=calculate—items(¥一 SESSION[’cart’]); } / 判断是否点击了修改按钮,如果将某商品数目 改为0,则应该从购物车中删除该商品,否则就修改 该商品数目。 / if(isset(¥_POST[’save’])){ foreach(¥_SESSION[’cart‘]as¥GOodlD=> ¥qty){ if(¥_POST[¥GoodlD]==’0’){ unset(¥_SESSION[‘cart’][¥GoodlD]); }else{ ¥_SESSION[‘cart。][¥GoodlD]=¥_POST [¥GOodlD]; } } /,一c重新计算购物车中商品总价格和总数 目。,Ic/ ¥_SESSION[’total_price‘]=calculate_price(¥一 SESSION[’cart’]); ¥一SESSION[。items‘]=calculate—items(¥一 SESSION[’cart。]); } (2)查看购物车中的商品,代码如下 加 。 if((¥_SESSION[’cart。])&&(array_count_val— ues(¥_SESSION[’cart’]))){ ? > <form action=”shopCart.php”method=”post”> <table border:”0”width=”100%”cellspac— ing=”0”> / 循环遍历购物车,显示购物车中所有的商品 信息。 / foreach(¥_SESSION[。catr‘]as¥GoodlD=> ¥qty){ ? > <tr><td align=”left”> <img 8rc=”<?php echo getGood——Pic(¥ OGodlD)?>”style=”border:lpx solid black” width=”80”height=”80”/></td> <td aling=”left”><a href=”show—book. php?isbn=06723 19241”><?php echo get—Good— Name(¥GoodlD)?></a></td> <td aling ”center”><?php echo get— oGod_Price(¥GoodID)?></td> <td align ”center”><input type= ”text”name=”<?php echo¥GoodID?>”value=” <?php echo¥qty? >”size=”3”></td><td aling ”center”><?php echo get—Good—Price (¥GoodlD) ¥qty?>元</td></tr> <?php } ? > <tr> <th colspan=”3”bgcolor=”#cccccc”> &nbsp:</td> <th aling=”center”bgcolor= ”#cccccc”><?php echo calculate—items(¥一SES- SION[’cart’])?></th> <tll aling ”center”bgcolor= ”#cccccc”> <?php echo calculate—price(¥一 SESSION[’cart’])?>元 </山> </tr> </table></forill> <?php }else{ echo”<P align=center>购物车没有商品, 请先选择商品。</p><hr/>”; 一37—
版权声明:本文标题:基于PHP购物车的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1709887471a548770.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论