gpt4 book ai didi

php - 取消设置 php session 变量

转载 作者:行者123 更新时间:2023-12-04 05:08:37 25 4
gpt4 key购买 nike

我正在通过 ajax 传递一个 id 以被 $_SESSION 删除。 ajax 部分工作正常,php 在 POST 中接收 id,但不能取消设置。为什么???这是我的代码:

Ajax 部分:

    $(".delete").live('click', function(e){
e.preventDefault();
var id_to_remove = $(this).attr('id');
//alert(id_to_remove);
$.ajax({
type: "POST",
url: 'inc/functions/remove_item_from_cart.php',
data: { id : id_to_remove },
success: function(data) {
$("#content").load('inc/functions/get_checkout_content.php');
alert(data);
}
})

});

php接收部分:
session_start();
if(isset($_SESSION['cart']) && isset($_POST['id'])){
//echo var_dump($_SESSION['cart']);
$ncart=$_SESSION['cart'];
if (count($ncart)>0){
unset($ncart[$_POST['id']]); // this is NOT working!!!
$ncart=array_values($ncart);

$_SESSION['cart']=$ncart;
if(count($ncart)==0){
unset($_SESSION['cart']);
unset($_SESSION['cart_total']);
echo "all_empty";
} // this if part is the only working!
}
}

为什么我不能取消设置 session 变量的任何有用建议?谢谢!

最佳答案

我得到了自己的解决方案:

if (count($_SESSION['cart'])>0){

foreach ($_SESSION['cart'] as $key => $subarray){
if ($subarray['id'] == $_POST['id']){
unset($_SESSION['cart'][$key]);
break;
}
}

$_SESSION['cart'] = array_values($_SESSION['cart']);

} else {
if(count($_SESSION['cart'])==0){
unset($_SESSION['cart']);
unset($_SESSION['cart_total']);
echo "all_empty";
}
}

那是因为数组是这样的:
Array
(
[0] => Array
(
[id] => 3
[name] => Collier Ano petit
[price] => 45
[quant] => 1
[ptotal] => 45
)

)

关于php - 取消设置 php session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15178352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com