购物车实现思路

 

   //判断该用户是否点击过“放入购物车”按钮
   if(isset($_POST['cart'])){
  //循环方式赋值 
     
   foreach($_POST['cart'] as $value){
    //购物车里如果有该商品
    //条件:
    //点击过“放入购物车”---存在数组$_SESSION['cart'];
    //判断哪件商品---- 判断该商品的名称是否在数组里出现过
    //array_key_exists(下标,数组);
   if(isset($_SESSION['cart'])&& array_key_exists($value,$_SESSION['cart'])){ 
       $_SESSION['cart'][$value]++;
     }else{
     
   //购物车里如果没有该商品  
   $_SESSION['cart'][$value]=1;
     }
  }
 
  }

 

 

 <form action="car.php" method="post">
     <input type="checkbox" name="cart[]" value="毛巾">毛巾<br>
     <input type="checkbox" name="cart[]" value="牙膏">牙膏<br>
     <input type="checkbox" name="cart[]" value="牙刷">牙刷<br>
     <input type="checkbox" name="cart[]" value="盆">盆<br>
     <input type="submit" name="submit" value="放入购物车">    
</form>

//name写成数组的形式  用session保存数组中得值

 

 

 

 

carlist.php

 

 

<?php
  //该页面主要功能:显示购物车内的商品(商品名字、商品数量)
  session_start();  
  echo "您已经选择的商品包括:<br>"; 
  echo " <form action='cardel3.php' method='post' id='form1' οnsubmit='return check();'>";
 
    //第一部分功能
   //显示用户购买的商品
   //包括功能:删除该商品
   //修改商品的数量       
   
   //获取用户购买的信息$_SESSION,循环方式显示产品
  
   foreach($_SESSION['cart'] as $key=>$value){
   echo "<input type='checkbox' name='list[]' value='{$key}'> ";
   echo "$key &nbsp;&nbsp;&nbsp;$value&nbsp;&nbsp;&nbsp;&nbsp;";
  
   //减少一件商品
                  
  echo "<a href='cardel1.php?list={$key}'>减少一件商品</a>&nbsp;&nbsp;&nbsp";
    echo "<a href='add1.php?list={$key}'>增加一件商品</a>";

  echo " <a href='cardel2.php?list={$key}'>删除该商品 </a><br>";

  }                                                  
  
   //第二部分功能
   //删除选中商品
   //选中商品数量减一
  
   echo "<input type='submit' name='submit1' value='删除选中商品'>";
   echo "<input type='submit' name='submit2' value='选中商品数量减一' οnclick='change();'>";
   echo "<input type='submit' name='submit3' value='选中商品数量加一' οnclick='changeadd();'>";

   echo "</form>";  
   echo " <a href='del.php'>清空购物车 </a>";
   echo " <a href='car.php'>返回首页</a>";    
  
?>

<script>
function change(){
//点击第二个submit按钮后触发change事件,该函数功能是更改form标签的action属性
document.getElementById('form1').action='cardel4.php';                                                    
}
function changeadd(){
//点击第二个submit按钮后触发change事件,该函数功能是更改form标签的action属性
document.getElementById('form1').action='caradd4.php';                                                    
}


</script>

 

 

 

减少商品数量

 

<?php
//减少商品数量
//$_GET[]
session_start();//开启session环境
//接收目前商品数量

 

echo $_SESSION['cart'][$_GET['list']]--;

 

 

 

//销毁该商品
if($_SESSION['cart'][$_GET['list']]<=0){

unset($_SESSION['cart'][$_GET['list']]);

}

 

 

 

 header("location:carlist.php");
 ?>

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值