文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何用Ajax + PHP session制作购物车

2023-06-08 06:54

关注

这篇文章主要介绍“如何用Ajax + PHP session制作购物车”,在日常操作中,相信很多人在如何用Ajax + PHP session制作购物车问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Ajax + PHP session制作购物车”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

登录界面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>

登录处理页面loginchuli.php

<?phpsession_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";}

主页面main.php

<?phpsession_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 >  <h2 >大苹果商城</h2>  <a  href="zhuxiao.php">注销</a></div><br /><div >  <div id="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" ><?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>

购买处理页面goumai.php

<?phpsession_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");

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

<?phpsession_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";

购物车页面

<?phpsession_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 >  <h2 >大苹果商城</h2>  <a  href="zhuxiao.php">注销</a></div><br /><div >  <div id="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" >    <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>

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

<?phpsession_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<?phpsession_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 >  <h2 >大苹果商城</h2>  <a  href="zhuxiao.php">注销</a></div><br /><div >  <div id="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" ><?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制作购物车”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯