全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Ajax + PHP session制作购物车

购物车网页代码,具体内容如下

1.登录界面login.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../jquery-1.11.2.min.js"></script>
<title>无标题文档</title>
</head>

<body>
<div>用户名:<input type="text" id="uid" /></div>
<div>密码:<input type="text" id="pwd" /></div>
<input type="button" value="登录" id="btn" />
</body>
<script type="text/javascript">
$("#btn").click(function(){
  var uid = $("#uid").val();
  var pwd = $("#pwd").val();
  $.ajax({
      url:"loginchuli.php",
      data:{u:uid,p:pwd},
      type:"POST",
      dataType:"TEXT",
      success: function(data){
        if(data.trim()=="OK")
        {
          window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
        }
        else
        {
          alert("用户名或密码错误");
        }
      }
    })
  })
</script>
</html>

2.登录处理页面loginchuli.php

<?php
session_start();

include("../DBDA.class.php");
$db = new DBDA();
$uid = $_POST["u"];
$pwd = $_POST["p"];
$sql = "select password from login where username='{$uid}'";
$mm = $db->StrQuery($sql);
if($mm==$pwd && $pwd!="")
{
  $UserName = $_POST["uid"];
  $_SESSION["uid"]=$uid;
  echo "OK";
}
else
{
  echo "NO";
}

3.主页面main.php

<?php
session_start();
include("../DBDA.class.php");
$db = new DBDA();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title><br />
<style type="text/css">
.list{ width:100%; height:30px; margin-top:10px; text-align:center; line-height:30px; vertical-align:middle}
</style>
</head>
<body>
<div style="width:100%; height:100px; background-color:#6CC">
  <h1 style="float:left">大苹果商城</h1>
  <a style="float:right; margin-top:40px" href="zhuxiao.php">注销</a>
</div>
<br />
<div style="width:100%; height:600px">
  <div id="left" style="width:20%; float:left">
    <a href="main.php"><div class="list">浏览商品</div></a>
    <a href="zhanghu.php"><div class="list">查看账户</div></a>
    <a href="gouwuche.php"><div class="list">查看购物车</div></a>
  </div>
  
  <div id="right" style="width:80%; float:left">

<?php
  $agwc = array();
  if(!empty($_SESSION["gwc"]))
  {
    $agwc = $_SESSION["gwc"];
  }
  $zhonglei = count($agwc);
  $sum = 0;
  foreach($agwc as $v)
  {
    $sql = "select price from fruit where ids='{$v[0]}'";
    $danjia = $db->StrQuery($sql);
    $sum = $sum +$danjia*$v[1];
  }
  echo "<div>购物车中有:{$zhonglei}种商品,总价格为:{$sum}元.</div>";
  ?>

    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
      <td>代号</td>
      <td>水果名称</td>
      <td>水果价格</td>
      <td>源产地</td>
      <td>库存量</td>
      <td>操作</td>
    </tr>

 <?php   
    $sql = "select * from fruit";
    $attr = $db->Query($sql);
    
    foreach($attr as $v)
    {
      echo "<tr><td>{$v[0]}</td>
      <td>{$v[1]}</td>
      <td>{$v[2]}</td>
      <td>{$v[3]}</td>
      <td>{$v[4]}</td>
      <td><a href='goumai.php?code={$v[0]}'>购买</a></td></tr>";
    }
    ?>    

    </table>
  </div>
</div>

</body>
</html>

4.购买处理页面goumai.php

<?php
session_start();
$code = $_GET["code"];

if(empty($_SESSION["gwc"]))
{
  //第一次点击购买
  $attr = array(
    array($code,1)
  );
  $_SESSION["gwc"] = $attr;
}
else
{
  //不是第一次点击购买
  $attr = $_SESSION["gwc"];
  $bs=0;
  foreach($attr as $k=>$v)
  {
    if($v[0]==$code)
    {
      $bs=1;
      $attr[$k][1] = $attr[$k][1]+1;
    }
  }
  //如果没有在数组里面出现
  if($bs==0)
  {
    $shuzu = array($code,1);
    $attr[] = $shuzu;
  }
  
  $_SESSION["gwc"]=$attr;
  
}
header("location:main.php");

5.订单处理页面,计算选取水果的总价,和水果剩余量。dingdan.php

<?php
session_start();
include("../DBDA.class.php");
$db = new DBDA();
$uid = $_SESSION["uid"];
$attr = array();
if(!empty($_SESSION["gwc"]))
{
  $attr = $_SESSION["gwc"];
}
//看下两个条件是否都满足
$bs = true;

//判断余额是否满足
  //根据用户名找余额
  $syue = "select account from login where username='{$uid}'";
  $yue = $db->StrQuery($syue);
  
  //根据购物车数组取总金额
  $sum = 0;
  foreach($attr as $v)
  {
    $sql = "select price from fruit where ids='{$v[0]}'";
    $danjia = $db->StrQuery($sql);
    $sum = $sum +$danjia*$v[1];
  }
  if($yue<$sum)
  {
    $bs = false;
    echo "YEBUZU";
    exit;
  }
  
//判断库存是否满足

foreach($attr as $v)
{
  $skucun = "select name,numbers from fruit where ids='{$v[0]}'";
  $akucun = $db->Query($skucun);
  if($akucun[0][1]<$v[1])
  {
    $bs = false;
    echo "{$akucun[0][0]}库存不足!";
    exit;
    
  }
}

//添加订单,减库存,减余额

if($bs)
{
  //减库存
  foreach($attr as $v)
  {
    $sql = "update fruit set numbers = numbers-{$v[1]} where ids='{$v[0]}'";
    $db->Query($sql,0);
  }
  
  //减余额
  $jianyue="update login set account=account-{$sum} where username='{$uid}'";
  $db->Query($jianyue,0);
  
  //添加订单
  $dingdanhao = $uid+date("YmdHis");
  $t = time();
  
  $sorder = "insert into orders values('{$dingdanhao}','{$uid}','{$t}')";
  $db->Query($sorder,0);
  
  foreach($attr as $v)
  {
    $sxq = "insert into orderdetails values('','{$dingdanhao}','{$v[0]}','{$v[1]}')";
    $db->Query($sxq,0);
  }
}

echo "OK";

6.购物车页面

<?php
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title><br />
<style type="text/css">
.list{ width:100%; height:30px; margin-top:10px; text-align:center; line-height:30px; vertical-align:middle}
</style>
<script src="../../jquery-1.11.2.min.js"></script>
</head>

<body>
<div style="width:100%; height:100px; background-color:#6CC">
  <h1 style="float:left">大苹果商城</h1>
  <a style="float:right; margin-top:40px" href="zhuxiao.php">注销</a>
</div>
<br />
<div style="width:100%; height:600px">
  <div id="left" style="width:20%; float:left">
    <a href="main.php"><div class="list">浏览商品</div></a>
    <a href="zhanghu.php"><div class="list">查看账户</div></a>
    <a href="gouwuche.php"><div class="list">查看购物车</div></a>
  </div>
  
  <div id="right" style="width:80%; float:left">
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
      <td>商品名称</td>
      <td>商品单价</td>
      <td>购买数量</td>
      <td>操作</td>
    </tr>

<?php
    include("../DBDA.class.php");
    $db = new DBDA();
    $attr=array();
    if(!empty($_SESSION["gwc"]))
    {
      $attr = $_SESSION["gwc"];
    }
    
    foreach($attr as $k=>$v)
    {
      $sql = "select name,price from fruit where ids='{$v[0]}'";
      $ashuiguo = $db->Query($sql);
    
      echo "<tr><td>{$ashuiguo[0][0]}</td><td>{$ashuiguo[0][1]}</td><td>{$v[1]}</td><td><a href='shanchu.php?sy={$k}'>删除</a></td></tr>";
      
    }
    
    ?>

    </table>
    <div id="tj">提交订单</div><div id="ts"></div>
  </div>
</div>

<script type="text/javascript">
$("#tj").click(function(){
    $.ajax({
        url:"dingdan.php",
        dataType:"TEXT",
        success: function(data){
            if(data.trim()=="OK")
            {
              alert("购买成功");
            }
            else if(data.trim()=="YEBUZU")
            {
              $("#ts").html("余额不足");
              $("#ts").css("color","red");
            }
            else
            {
              $("#ts").html(data);
              $("#ts").css("color","red");
            }
          }
      });
  })
</script>
</body>
</html>

7.购物车页面删除处理页面shanchu.php

<?php
session_start();

$sy = $_GET["sy"];

$attr = $_SESSION["gwc"];

if($attr[$sy][1]>1)
{
  $attr[$sy][1] = $attr[$sy][1]-1;
}
else
{
  unset($attr[$sy]);
  $attr = array_values($attr);
}
$_SESSION["gwc"]=$attr;

header("location:gouwuche.php");

8.账户余额页面zhanghu.php


<?php
session_start();
$uid = $_SESSION['uid'];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title><br />
<style type="text/css">
.list{ width:100%; height:30px; margin-top:10px; text-align:center; line-height:30px; vertical-align:middle}
</style>
</head>
<body>
<div style="width:100%; height:100px; background-color:#6CC">
  <h1 style="float:left">大苹果商城</h1>
  <a style="float:right; margin-top:40px" href="zhuxiao.php">注销</a>
</div>
<br />
<div style="width:100%; height:600px">
  <div id="left" style="width:20%; float:left">
    <a href="main.php"><div class="list">浏览商品</div></a>
    <a href="zhanghu.php"><div class="list">查看账户</div></a>
    <a href="gouwuche.php"><div class="list">查看购物车</div></a>
  </div>  
  <div id="right" style="width:80%; height:150px; float:left">

<?php
    include("../DBDA.class.php");
    $db = new DBDA();
    $sql = "select Account from login where UserName='{$uid}'";
    $result = $db->strQuery($sql);
    
    echo ("您的账户中还剩余".$result);
  ?>

  </div>
</div>

</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Ajax  # PHP  # session  # 购物车  # PHP实现负载均衡下的session共用功能  # PHP实现分布式memcache设置web集群session同步的方法  # PHP+Session防止表单重复提交的解决方法  # redis 替代php文件存储session的实例  # php基于session锁防止阻塞请求的方法分析  # PHP编程中的Session阻塞问题与解决方法分析  # 详解PHP使用Redis存储session时的一个Warning定位  # php如何修改SESSION的生存存储时间的实例代码  # 深入浅析PHP的session反序列化漏洞问题  # PHP session实现购物车功能  # PHP学习笔记之session  # 无标题文档  # 您的  # 中有  # 如果没有  # 具体内容  # 大家多多  # 总金额  # 网页代码  # 源产地  # url 


相关文章: 如何在腾讯云免费申请建站?  Python文件管理规范_工程实践说明【指导】  *服务器网站为何频现安全漏洞?  想学网站制作怎么学,建立一个网站要花费多少?  C#如何序列化对象为XML XmlSerializer用法  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  香港网站服务器数量如何影响SEO优化效果?  如何高效完成独享虚拟主机建站?  如何高效配置香港服务器实现快速建站?  如何确认建站备案号应放置的具体位置?  如何快速完成中国万网建站详细流程?  教学论文网站制作软件有哪些,写论文用什么软件 ?  建站之星如何快速生成多端适配网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  高端网站建设与定制开发一站式解决方案 中企动力  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  购物网站制作公司有哪些,哪个购物网站比较好?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  小型网站建站如何选择虚拟主机?  网站制作企业,网站的banner和导航栏是指什么?  网站图片在线制作软件,怎么在图片上做链接?  建站之星官网登录失败?如何快速解决?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  上海网站制作开发公司,上海买房比较好的网站有哪些?  ,南京靠谱的征婚网站?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  网站制作壁纸教程视频,电脑壁纸网站?  如何确保FTP站点访问权限与数据传输安全?  宿州网站制作公司兴策,安徽省低保查询网站?  做企业网站制作流程,企业网站制作基本流程有哪些?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何构建满足综合性能需求的优质建站方案?  建站主机是什么?如何选择适合的建站主机?  如何设计高效校园网站?  建站主机SSH密钥生成步骤及常见问题解答?  如何快速搭建个人网站并优化SEO?  如何快速生成橙子建站落地页链接?  如何通过老薛主机一键快速建站?  建站之星安装需要哪些步骤及注意事项?  如何选择高效可靠的多用户建站源码资源?  如何零基础开发自助建站系统?完整教程解析  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  建站之星代理如何获取技术支持? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。