宝哥软件园

用PHP实现多功能购物网站的案例研究

编辑:宝哥软件园 来源:互联网 时间:2021-09-03

一.要执行的页面:

Index.aspx:浏览产品页面,显示产品列表。用户可以点击“加入购物车”。

ViewCart.aspx:查看购物车页面,显示购买商品的信息。您可以点击“删除”和“提交并添加采购订单”商品

查看个人账户余额

Login.aspx:登录页面

二、实现功能:

1.显示商品清单

2.实现购买功能,购买时动态显示购物车内商品数量和商品总价

3.单击查看购物车以显示购买的商品。注意“采购数量”一栏。如果多次点击购买商品,其“购买数量”会不断增加。

4.删除购物车中购买的商品。

如果某商品的“购买数量”为1,点击“删除”,直接从购物车中删除该商品;

如果商品的“购买数量”大于1,点击“删除”一次,将其购买数量减少1。直到商品的购买数量为1,再次点击删除,删除商品

5.查看购物车后,还可以点击“浏览产品”继续购买。并在上面显示购买商品的数量和总价。

6.检查购物车后,您可以提交订单。

但是,提交订单时,必须完成以下功能:

(a)检查用户是否已经登录,如果没有,请转到Login.aspx页面

(b)检查用户的账户余额是否能够满足本次购买

(c)检查库存数量是否足够本次采购

如果上述所有条件都得到满足,

一、从用户账户中扣除本次购买的总价

Ii .从商品库存中扣除本次每件商品的采购数量

Iii .将采购商品的信息添加到订单表和订单内容表中

7.单击“查看帐户”查看该用户的帐户余额

操作代码如下:

1.首先创建一个登录页面:loginpage.php

!DOCTYPE html html head meta charset=' UTF-8 ' title/title script src=' http : bootstrap/js/jquery-1。11 .2 .量滴js '/script script src=' http : bootstrap/js/bootstrap。量滴js '/脚本链接href=' bootstrap/CSS/bootstrap。量滴CSS ' rel='外部nofollow' rel='外部nofollow' rel='外部nofollow' rel='样式表type=' text/CSS title { margin-left : 750 px;边距-top : 150 px;} .全聚德{左边距-: 650像素;边距-top :-460 px;} .姓名,pwd {最大宽度: 120 px} .杨司1 {边缘-顶部: 200像素;} .标题{宽度: 100%;高度: 80px背景# e0e0e0}。PS {左边距: 100 px边距-top :-100 px;}/style body form class=' form-horizontal ' role=' form ' action=' dengluchuli。PHP ' method=' post ' div class=' header ' img src=' http : img/logo。png ' width=' 200 ' height=' 50 '/div果蔬网/div /div h3 class='title '用户登录/h3 img src='http:/img/果蔬专场jpg ' width=' 500 ' height=' 400 ' class=' PS '/div class=' quanju ' div class=' form-group Yanshi 1 '标签为='名字'类=' col-sm-2控件-标签'用户名:/标签div class='col-sm-10 '输入类型=' text ' class=' form-control name ' name=' uid ' placeholder='请输入用户名/div/div class='表格-杨司2组'标签为='姓氏' class=' col-sm-2 control-label '密码:/标签div class='col-sm-10 '输入类型=' text ' class=' form-control pwd ' name=' pwd ' placeholder='请输入密码/div/div class=' form-group ' div class=' col-sm-offset-2 col-sm-10 ' div class=' checkbox '标签输入类型='复选框'保存密码/标签标签输入类型='复选框'下次自动登录/label/div/div/div class=' form-group ' div class=' col-sm-offset-2 col-sm-10 '按钮类型=' submit ' class=' BTN BTN-警告' value='登录onclick="返回登录名()"登录/button/div/div/窗体/正文脚本函数登录(){ var uid=document。 getelementsbytagname(' input ')[0].价值;if(uid==''){ alert('请输入用户名!');返回false} var pwd=文档。getelementsbytagname(' input ')[1].价值;if(pwd==''){ alert('请输入密码!');返回false} }/脚本/html效果如图:

2.在做一个登录的处理页面:dengluchuli.php

?PHP session _ start();$ uid=$ _ POST[' uid '];$ pwd=$ _ POST[' pwd '];要求一次./DBDA。上课。PHP ';$db=新DBDA();$sql='从登录名中选择* ',其中用户名=' { $ uid }$arr=$db-query($sql,0);if($ arr[0][2]=$ pwd!empty($ pwd)){ $ _ SESSION[' uid ']=$ uid;标题(' location : shopping _ list。PHP’);}else{ echo '登陆失败!}这样就可以和数据库联系了,这个是数据库的登录帐号和密码,验证帐号,密码,然后跳到主页:shopping_list.php

3.现在做主页的页面:shopping_list.php

!DOCTYPE html html head meta charset=' UTF-8 ' title/title script src=' http : bootstrap/js/jquery-1。11 .2 .量滴js '/script script src=' http : bootstrap/js/bootstrap。量滴js '/脚本链接href=' bootstrap/CSS/bootstrap。量滴CSS ' rel='外部nofollow' rel='外部nofollow' rel='外部nofollow' rel='样式表type='text/css水果列表/h2?PHP session _ start();//1.找出购物车中多少种商品和总价$ uid=$ _ SESSION[' uid '];如果(空($ _ SESSION[' uid ']){ header(' location : login page。PHP’);退出;}需要一次/DBDA。上课。PHP ';$db=新DBDA();//如果购物车有商品,取出值if(!空($ _ SESSION[' gwd ']){ $ arr=$ _ SESSION[' gwd '];$ sum=0;$ numbers=count($ arr);foreach($ arr as $ k=$ v){/$ v[0];//水果名称//$ v[1];//购买数量$sql='从水果中选择*,其中id=' { $ v[0]} ';$attr=$db-query($sql,0);$ DJ=$ attr[0][2];//单价$ sum=$ sum $ DJ * $ v[1];//总价=单价*数量} } echo @ ' div style='左边距: 250 px '购物车中商品总数为{$numbers}个,商品总价为:{$sum}元/div ';a href=' loginpage。PHP ' rel='外部无跟随'登录/a table class=' table table-bounded '和tr th代号/th名称/th价格/th产地/th库存/th操作/th/tr/the和tbody?php $sql='从水果中选择* ';$arr=$db-query($sql,0);foreach($ arr as $ v){ echo ' tr TD { $ v[0]}/TD { $ v[1]}/TD TD { $ v[2]}/TD { $ v[3]}/TD { $ v[4]}/TD TDA href='购物李俶。PHP?id={ $ v[0]} '加入购物车/a/TD/tr ';} ?/t正文/表a href=' add _ list。PHP ' rel='外部无跟随'查看购物车/a /body/html4 .然后做主页的处理页面:shoppingchuli.php

?PHP session _ start();//取到传过来的主键值,并且添加到购物车的会议里面$ ids=$ _ GET[' ids '];//如果是第一次添加购物车,造一个二维数组存到会议里面//如果不是第一次添加,有两种情况//1.如果该商品购物车里面不存在,造一个一维数组扔到二维里面//2.如果该商品在购物车存在,让数量加1if(空($ _ SESSION[' gwd ']){//如果是第一次添加购物车,造一个二维数组存到会议里面$arr=array(array($ids,1));$ _ SESSION[' gwd ']=$ arr;} else { $ arr=$ _ SESSION[' gwd '];if(deep_in_array($ids,$arr)){ //如果该商品在购物车存在,让数量加1 foreach($ arr as $ k=$ v){ if($ v[0]==$ id){ $ arr[$ k][1];} } $ _ SESSION[' gwd ']=$ arr;}else{ //如果该商品购物车里面不存在,造一个一维数组扔到二维里面$ arr=$ _ SESSION[' gwd '];$attr=array($ids,1);$ arr[]=$ attr;$ _ SESSION[' gwd ']=$ arr;} }标头(' location :购物清单。PHP’);函数deep_in_array($value,$ array){ foreach($ array as $ item){ if(!is _ array($ item)){ if($ item==$ value){ return true;} else {继续;} } if(in_array($value,$ item)){ return true;} else if(deep_in_array($value,$ item)){ return true;} }返回false}效果如图:

5.然后再做查看购物车页面,能看到购物车中的商品和单价和总价:gouwuche.php

!DOCTYPE html html head meta charset=' UTF-8 ' title/title script src=' http : bootstrap/js/jquery-1。11 .2 .量滴js '/script script src=' http : bootstrap/js/bootstrap。量滴js '/脚本链接href=' bootstrap/CSS/bootstrap。量滴CSS ' rel='外部nofollow' rel='外部nofollow' rel='外部nofollow' rel='样式表type=' text/csphp session _ start();$ uid=$ _ SESSION[' uid '];如果(空($ _ SESSION[' uid ']){ header(' location : login page。PHP’);退出;} ?车身氘购物车清单/H2 table class=' table table-bordered '和tr th代号/th名称/th价格/th产地/th购买数量/th操作/th/tr/the和tbody?服务器端编程语言(Professional Hypertext Preprocessor的缩写)需要一次./DBDA。上课。PHP ';$db=新DBDA();if(!空($ _ SESSION[' gwd ']){ $ arr=$ _ SESSION[' gwd '];$ sum=0;$ numbers=count($ arr);foreach($ arr as $ k=$ v){/$ v[0];$ v[1];$sql='从水果中选择*,其中id=' { $ v[0]} ';$a=$db-query($sql,0);//var _ dump($ v[1]);echo ' tr TD { $ v[0]}/TD { $ a[0][1]}/TD TD TD { $ a[0][2]}/TD { $ a[0][3]}/TD { $ a[0][3]}/TD { $ a[0][3]}/TD { $ v[1]}/TD TDA href=' goodsdel。PHP?zj={$k} '删除/a/TD/tr ';$ DJ=$ a[0][2];$ sum=$ sum $ DJ * $ v[1];} }//echo ' div style='左边距: 250 px'购物车中商品总数为{$numbers}个,商品总价为:{$sum}元/div ';/t body/table a href=' submit _ order。PHP?id={ $ v[0]} ' rel='外部无跟随'提交订单/a /body/html效果如图:

6.再做删除的处理页面goodsdel.php

?PHP session _ start();$ ZJ=$ _ GET[' ZJ '];//如果该水果数量大于1,减1//如果该水果数量等于一移除$ arr=$ _ SESSION[' gwd '];if($ arr[$ ZJ][1]1){ $ arr[$ ZJ][1]=$ arr[$ ZJ][1]-1;} else { unset($ arr[$ ZJ]);//清除数组$ arr=array _ values($ arr);//重新索引数组} $ _ SESSION[' gwd ']=$ arr;标题('位置: add _ list。PHP’);七.然后做提交页面:tijiao.php

?PHP session _ start();$ ids=$ _ GET[' ids '];//查看余额$ uid=$ _ SESSION[' uid '];要求一次./DBDA。上课。PHP ';$db=新DBDA();$sql='从登录名中选择帐户,其中用户名=' { $ uid }$arr=$db-query($sql,0);$ aye=$ arr[0][0];//余额//var _ dump($ aye);if(!空($ _ SESSION[' gwd ']){ $ arr=$ _ SESSION[' gwd '];$ sum=0;//$ numbers=count($ arr);foreach($arr as $v){ $sql='从水果中选择* ',其中id=' { $ v[0]} ';$price=$db-query($sql,0);$ DJ=$ price[0][2];$ sum=$ sum $ DJ * $ v[1];} }else{ echo '您还未购买商品!';//表头('购物清单。PHP’);退出;}//判断余额是否满足购买if($aye=$sum){ //判断库存foreach($arr as $v){ $skc='从水果中选择名称、数字,其中id=' { $ v[0]} ';$akc=$db-query($sql,0);var _ dump(AKC);$ KC=$ AKC[0][4];//库存//var _ dump($ KC);if($kc$v[1]){ echo '库存不足!退出;} } //提交订单//账户扣除余额$ Skye='更新登录设置帐户=帐户-{ $ sum },其中username=' { $ uid } $ zhye=$ db-query($ Skye);//扣除库存foreach($ arr as $ v){ $ skckc=' update水果组编号=numbers-{$v[1]}其中id=' { $ v[0]} ';$ sykc=$ db-query($ skckc);} //添加订单$ddh=日期(' Y-m-d h : I :s ');$ time=time();$stjd='插入订单值(“{$time}”、“{$uid}”、“{ $ ddh }”)”;$ wcdh=$ db-query($ stjd);//添加订单详情foreach($ arr as $ v){ $ ddxq='插入订单详细信息值(',' {$ddh} ',' {$v[0]} ',' { $ v[1]} ')';$ axq=$ db-query($ ddxq);} }else{ echo '余额不足,请充值!退出;}标头(' location :购物清单。PHP’);用户账户余额已经减少:

以上这篇服务器端编程语言(专业超文本预处理器的缩写)实现一个多功能购物网站的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+