如何使用删除按钮在购物车中取消设置会话产品

How do I unset session products in shopping cart using remove button?

本文关键字:设置 取消 会话 购物车 何使用 删除 按钮      更新时间:2023-09-26

如何使用删除按钮取消购物车中会话产品的设置?我有以下代码"清除购物车"正在工作,并取消设置购物中所有商品的会话。但问题是"删除"不会通过pid取消单个产品的设置吗?

Php

session_start();
$pid=$_SESSION['pid'];
function remove_product($pid){
  $pid=intval($pid);
  $max=count($_SESSION['product1']);
  for($i=0;$i<$max;$i++){
    if($pid==$_SESSION['product1'][$i]['pid']){
      unset($_SESSION['product1'][$i]);
      break;
    }
  }
  $_SESSION['product1']=array_values($_SESSION['product1']);
}
if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){
  remove_product($_REQUEST['product1'][$pid]);
}
if($_REQUEST['command']=='clear' && isset($_REQUEST['remove'])){
  unset($_SESSION['image12']);
  unset($_SESSION['product1']);
  unset($_SESSION['price12']);
  unset($_SESSION['itemcode3']);
  unset($_SESSION['sizes12']);
}   

Js

function del(pid){
  if(confirm('Do you really mean to delete this item')){
    document.form1.pid.value=pid;
    document.form1.command.value='delete';
    document.form1.submit();
  }
}
function clear_cart(){
  if(confirm('This will empty your shopping cart, continue?')){
    document.form1.command.value='clear';
    document.form1.submit();
  }
}

Html:

<form  name="form1" method="post">  
  <input type="hidden" name="pid" />
  <input type="hidden" name="command" />  
  <input type="button" class="button2" value="Clear Cart" onclick="clear_cart()" />
  <a href="javascript:del(<?php echo $pid?>)">
    <input type="button" class="button2" value="Remove" />
  </a>
</form>
if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){
remove_product($_REQUEST['product1'][$pid]);
}

您的表单中没有$_REQUEST['product1'],也许

if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){
remove_product($_REQUEST['pid']);
}

$_REQUEST['reve']也是

if($_REQUEST['command']=='clear' && isset($_REQUEST['remove'])){
unset($_SESSION['image12']);
unset($_SESSION['product1']);
unset($_SESSION['price12']);
unset($_SESSION['itemcode3']);
unset($_SESSION['sizes12']);
}   

我看不到任何要发送的$_REQUEST[删除]。

你的clear命令也不发送$pid,不是有必要吗?

事实上,clear((发送查询字符串pid=&command=clear