1、商品展示页面

代码如下:

<table width="255" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="130" rowspan="6"><div align="center">

<?php

if(trim($info[tupian]==""))

{

echo "暂无图片";

}

else

{

?>

<img src="<?php echo $info[tupian];?>" width="130" height="100" border="0">

<?php

}

?>

</div></td>

<td width="20" height="16"> </td>

<td width="113"><font color="EF9C3E">【<?php echo $info[mingcheng];?>】</font></td>

</tr>

<tr>

<td height="16"> </td>

<td><font color="910800">【市场价:<?php echo $info[shichangjia];?>】</font></td>

</tr>

<tr>

<td height="16"> </td>

<td><font color="DD4679">【会员价:<?php echo $info[huiyuanjia];?>】</font></td>

</tr>

<tr>

<td height="16"> </td>

<td>【<a href="lookinfo.php?id=<?php echo $info[id];?>">查看信息</a>】</td>

</tr>

<tr>

<td height="16"> </td>

<td>【<a href="addgouwuche.php?id=<?php echo $info[id];?>">放入购物车</a>】</td>

</tr>

<tr>

<td height="16"> </td>

<td><font color="13589B">【剩余数量:

<?php

if(($info[shuliang]-$info[cishu])>0)

{

echo ($info[shuliang]-$info[cishu]);

}

else

{

echo "已售完";

}

?>】</font></td>

</tr>

</table>

<?php

}

?>

</table>

2、文件addgouwuche.php

复制代码代码如下:

<?php

session_start();

include("conn.php");

if($_SESSION[username]=="")

{

echo "<script>alert('请先登录后购物!');history.back();</script>";

exit;

}

$id=strval($_GET[id]);

$sql=mysql_query("select * from shangpin where id='".$id."'",$conn);

$info=mysql_fetch_array($sql);

if($info[shuliang]<=0)

{

echo "<script>alert('该商品已经售完!');history.back();</script>";

exit;

}

$array=explode("@",$_SESSION[producelist]);

for($i=0;$i<count($array)-1;$i++)

{

if($array[$i]==$id)

{

echo "<script>alert('该商品已经在您的购物车中!');history.back();</script>";

exit;

}

}

$_SESSION[producelist]=$_SESSION[producelist].$id."@";

$_SESSION[quatity]=$_SESSION[quatity]."1@";

header("location:gouwu1.php");

?>

3、文件gouwu1.php

代码如下:

<?php

session_start();

if($_SESSION[username]=="")

{

echo "<script>alert('请先登录,后购物!');history.back();</script>";

exit;

}

?>

<?php

include("top.php");

?>

<table width="800" height="438" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td width="200" height="438" valign="top" bgcolor="#E8E8E8"><div align="center">

<?php include("left.php");?>

</div></td>

<td width="10" background="images/line2.gif"> </td>

<td width="590" valign="top"><table width="550" height="10" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td> </td>

</tr>

</table>

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">

<form name="form1" method="post" action="gouwu1.php">

<tr>

<td height="25" bgcolor="#555555"><div align="center" style="color: #FFFFFF"><?php echo $_SESSION[username];?>的购物车</div></td>

</tr>

<tr>

<td bgcolor="#555555"><table width="500" border="0" align="center" cellpadding="0" cellspacing="1">

<?php

session_start();

session_register("total");

if($_GET[qk]=="yes")

{

$_SESSION[producelist]="";

$_SESSION[quatity]="";

}

$arraygwc=explode("@",$_SESSION[producelist]);

$s=0;

for($i=0;$i<count($arraygwc);$i++)

{

$s+=intval($arraygwc[$i]);

}

if($s==0 )

{

echo "<tr>";

echo" <td height='25' colspan='6' bgcolor='#FFFFFF' align='center'>您的购物车为空!</td>";

echo"</tr>";

}

else

{

?>

<tr>

<td width="125" height="25" bgcolor="#FFFFFF"><div align="center">商品名称</div></td>

<td width="52" bgcolor="#FFFFFF"><div align="center">数量</div></td>

<td width="64" bgcolor="#FFFFFF"><div align="center">市场价</div></td>

<td width="64" bgcolor="#FFFFFF"><div align="center">会员价</div></td>

<td width="51" bgcolor="#FFFFFF"><div align="center">折扣</div></td>

<td width="66" bgcolor="#FFFFFF"><div align="center">小计</div></td>

<td width="71" bgcolor="#FFFFFF"><div align="center">操作</div></td>

</tr>

<?php

/**

* 购物车 商品数量管理

* Edit www.jbxue.com

*/

$total=0;

$array=explode("@",$_SESSION[producelist]);

$arrayquatity=explode("@",$_SESSION[quatity]);

while(list($name,$value)=each($_POST))

{

for($i=0;$i<count($array)-1;$i++)

{

if(($array[$i])==$name)

{

$arrayquatity[$i]=$value;

}

}

}

$_SESSION[quatity]=implode("@",$arrayquatity);

for($i=0;$i<count($array)-1;$i++)

{

$id=$array[$i];

$num=$arrayquatity[$i];

if($id!="")

{

$sql=mysql_query("select * from shangpin where id='".$id."'",$conn);

$info=mysql_fetch_array($sql);

$total1=$num*$info[huiyuanjia];

$total+=$total1;

$_SESSION["total"]=$total;

?>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[mingcheng];?></div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center">

<input type="text" name="<?php echo $info[id];?>" size="2" class="inputcss" value=<?php echo $num;?>>

</div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[shichangjia];?>元</div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[huiyuanjia];?>元</div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo @(ceil(($info[huiyuanjia]/$info[shichangjia])*100))."%";?></div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[huiyuanjia]*$num."元";?></div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><a href="removegwc.php?id=<?php echo $info[id]?>">移除</a></div></td>

</tr>

<?php

}

}

?>

<tr>

<td height="25" colspan="8" bgcolor="#FFFFFF"><div align="right">

<table width="500" height="25" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td width="125"><div align="center">

<input type="submit" value="更改商品数量" class="buttoncss">

</div></td>

<td width="125"><div align="center"><a href="gouwu2.php">去收银台</a></div></td>

<td width="125"><div align="center"><a href="gouwu1.php?qk=yes">清空购物车</a></div></td>

<td width="125"><div align="left">总计:<?php echo $total;?></div></td>

</tr>

</table>

</div></td>

</tr>

<?php

}

?>

</table></td>

</tr>

</form>

</table></td>

</tr>

</table>

3、文件gouwu2.php

、代码如下:

<table width="800" height="438" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td width="200" height="438" valign="top" bgcolor="#E8E8E8"><div align="center">

<?php include("left.php");?>

</div></td>

<td width="10" background="images/line2.gif"> </td>

<td width="590" valign="top"><table width="550" height="15" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td> </td>

</tr>

</table>

<table width="550" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td height="25" bgcolor="#555555"><div align="center" style="color: #FFFFFF">收货人信息</div></td>

</tr>

<tr>

<td height="300" bgcolor="#555555"><table width="550" height="300" border="0" align="center" cellpadding="0" cellspacing="1">

<script language="javascript">

/**

* 购物车 收货人信息

* Edit www.jbxue.com

*/

function chkinput(form)

{

if(form.name.value=="")

{

alert("请输入收货人姓名!");

form.name.select();

return(false);

}

if(form.dz.value=="")

{

alert("请输入收货人地址!");

form.dz.select();

return(false);

}

if(form.yb.value=="")

{

alert("请输入收货人邮编!");

form.yb.select();

return(false);

}

if(form.tel.value=="")

{

alert("请输入收货人联系电话!");

form.tel.select();

return(false);

}

if(form.email.value=="")

{

alert("请输入收货人E-mail地址!");

form.email.select();

return(false);

}

if(form.email.value.indexOf("@")<0)

{

alert("收货人E-mail地址格式输入错误!");

form.email.select();

return(false);

}

return(true);

}

</script>

<form name="form1" method="post" action="savedd.php" onSubmit="return chkinput(this)">

<tr>

<td width="100" height="25" bgcolor="#FFFFFF"><div align="center">收货人姓名:</div></td>

<td width="183" bgcolor="#FFFFFF"><div align="left"><input type="text" name="name" size="25" class="inputcss" style="</div></td>

<td width="86" bgcolor="#FFFFFF"><div align="center">性别:</div></td>

<td width="176" bgcolor="#FFFFFF"><div align="left">

<select name="***">

<option selected value="男">男</option>

<option value="女">女</option>

</select>

</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">详细地址:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input name="dz" type="text" class="inputcss" id="dz" style="

</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">邮政编码:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input type="text" name="yb" size="25" class="inputcss" style="</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">联系电话:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input type="text" name="tel" size="25" class="inputcss" style="</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">电子邮箱:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input type="text" name="email" size="25" class="inputcss" style="</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">送货方式:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left">

<select name="shff" id="shff">

<option selected value="普通平邮">普通平邮</option>

<option value="特快专递">特快专递</option>

<option value="送货上门">送货上门</option>

<option value="个人送货">个人送货</option>

<option value="E-mail">E-mail</option>

</select>

</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">支付方式:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left">

<select name="zfff" id="zfff">

<option selected value="建设银行汇款">建设银行汇款</option>

<option value="交通银行汇款">交通银行汇款</option>

<option value="邮局汇款">邮局汇款</option>

<option value="网上支付">网上支付</option>

</select>

</div></td>

</tr>

<tr>

<td height="100" bgcolor="#FFFFFF"><div align="center">简单留言:</div></td>

<td height="100" colspan="3" bgcolor="#FFFFFF"><div align="left">

<textarea name="ly" cols="60" rows="8" class="inputcss" style="background-color:#e8f4ff " onMouseOver="this.style.backgroundColor='#ffffff'" onMouseOut="this.style.backgroundColor='#e8f4ff'"></textarea>

</div></td>

</tr>

<tr>

<td height="25" colspan="4" bgcolor="#FFFFFF"><div align="center"><input type="submit" value="提交订单" class="buttoncss">

</div></td>

</tr>

</form>

</table></td>

</tr>

</table></td>

</tr>

</table>

<?php

if($_GET[dingdanhao]!="")

{ $dd=$_GET[dingdanhao];

session_start();

$array=explode("@",$_SESSION[producelist]);

$sum=count($array)*20+260;

echo" <script language='javascript'>";

echo" window.open('showdd.php?dd='+'".$dd."','newframe','top=150,left=200,width=600,height=".$sum.",menubar=no,toolbar=no,location=no,scrollbars=no,status=no ')";

echo "</script>";

}

?>

4、数据库配置文件conn.php

代码如下:

<?php

$conn=mysql_connect("localhost","root","") or die("数据库服务器连接错误".mysql_error());

mysql_select_db("shop",$conn) or die("数据库访问错误".mysql_error());

mysql_query("set character set gb2312");

mysql_query("set names gb2312");

?>

php 购物车完整实现代码的更多相关文章

  1. 原生JS实现购物车结算功能代码+zepto版

    html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  2. 谷歌开源项目Google Preview Image Extractor(PIEX) (附上完整demo代码)

    前天偶然看到谷歌开源项目中有一个近乎无人问津的项目Google Preview Image Extractor(PIEX) . 项目地址: https://github.com/google/piex ...

  3. openssl对数组加密解密的完整实现代码

    本例是用C实现的对一个数组进行加密,加密到第二个数组,然后解密到另一个数组的完整实现代码. #include <stdio.h> #include <string.h> #in ...

  4. 快速双边滤波 附完整C代码

    很早之前写过<双边滤波算法的简易实现bilateralFilter>. 当时学习参考的代码来自cuda的样例. 相关代码可以参阅: https://github.com/johng12/c ...

  5. 基于RNN的音频降噪算法 (附完整C代码)

    前几天无意间看到一个项目rnnoise. 项目地址: https://github.com/xiph/rnnoise 基于RNN的音频降噪算法. 采用的是 GRU/LSTM 模型. 阅读下训练代码,可 ...

  6. 音频压缩编码 opus 附完整C++代码示例

    绝大数人都知道mp3格式编码,以及aac,amr等压缩格式编码. 而在语音通信界有一个强悍的音频格式编码opus. 经过实测,压缩比最高可以达到1:10. 100KB 压缩后 10KB 虽然是有损压缩 ...

  7. 音频降噪算法 附完整C代码

    降噪是音频图像算法中的必不可少的. 目的肯定是让图片或语音 更加自然平滑,简而言之,美化. 图像算法和音频算法 都有其共通点. 图像是偏向 空间 处理,例如图片中的某个区域. 图像很多时候是以二维数据 ...

  8. mser 最大稳定极值区域(文字区域定位)算法 附完整C代码

    mser 的全称:Maximally Stable Extremal Regions 第一次听说这个算法时,是来自当时部门的一个同事, 提及到他的项目用它来做文字区域的定位,对这个算法做了一些优化. ...

  9. 音频自动增益 与 静音检测 算法 附完整C代码

    前面分享过一个算法<音频增益响度分析 ReplayGain 附完整C代码示例> 主要用于评估一定长度音频的音量强度, 而分析之后,很多类似的需求,肯定是做音频增益,提高音量诸如此类做法. ...

随机推荐

  1. OpenStack学习推荐

      前言: 学习.了解.安装部署OpenStack也写了好一段时间了,现在觉得也有点必要写点总结.搞IT这一块基本就这样,不管是搞什么领域,一个项目超过两个月没动它,就基本不知道当时是怎么搞的,当时学 ...

  2. poj 2479 Maximum sum (最大字段和的变形)

    题目链接:http://poj.org/problem?id=2479 #include<cstdio> #include<cstring> #include<iostr ...

  3. reloadData should be in main thread

    reloadData should be called in main thread, so if you call it in work thread, you should call it as ...

  4. ios socket通讯注意事项

    前段时间,在做objetive-c下的Sokcet通讯,当使用C++程序做服务端时,一切正常;当用JAVA做服务端时,双方收不到数据,在查阅了一些资料后,整理一下注意点 1 消息末尾加回车和换行符 o ...

  5. Java中的一些常见错误

    1.空指针错误 在java数组的使用中,有时候需要对字符串数组中的元素进行对比.那么当元素不为null时,程序会正常运行:然而,一旦对比的元素为null,那么程序就会出现空指针错误. 解决方法:加入保 ...

  6. uva10622 Perfect P-th Powers

    留坑(p.343) 完全不知道哪里有问题qwq 从31向下开始枚举p,二分找存在性,或者数学函数什么的也兹辞啊 #include<cstdio> #include<cstring&g ...

  7. DateTime格式大全

    DateTime dt = DateTime.Now;//    Label1.Text = dt.ToString();//2005-11-5 13:21:25//    Label2.Text = ...

  8. windows 下解决 Time_Wait 和 CLOSE_WAIT 方法

    修改Time_Wait参数的方法 (在服务端修改)Windows下在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Paramet ...

  9. TCP/IP协议原理与应用笔记02:断点续传

    1.断点续传简介:       FTP(文件传输协议的简称)(File Transfer Protocol. FTP)客户端软件断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人 ...

  10. Java基础知识强化09:String、StringBuffer和StringBuilder使用

    1. 对于三者使用的总结: (1).如果要操作少量的数据用 = String               (2).单线程操作字符串缓冲区下操作大量数据 = StringBuilder (3).多线程操 ...