主页 > 知识库 > Ajax + PHP session制作购物车

Ajax + PHP session制作购物车

热门标签:Linux服务器 银行业务 团购网站 科大讯飞语音识别系统 Mysql连接数设置 阿里云 电子围栏 服务器配置

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

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>

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

您可能感兴趣的文章:
  • 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

标签:衢州 江苏 广元 萍乡 衡水 蚌埠 大理 枣庄

巨人网络通讯声明:本文标题《Ajax + PHP session制作购物车》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266