dosrmo0442 2013-03-02 19:17
浏览 36
已采纳

取消设置php会话变量

I'm passing an id by ajax to be removed by $_SESSION. The ajax part works fine, the php receive in POST the id, but the vairable can't be unset. Why??? Here my code:

The ajax part:

    $(".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);
        }
    })

});

The php receiving part:

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!
}
}

Any helpful suggestion why I can't unset the session variable? Thanks!

  • 写回答

1条回答 默认 最新

  • duanchigeng4313 2013-03-09 14:53
    关注

    I got my own solution:

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

    That's because the array was like this:

    Array
    (
        [0] => Array
            (
                [id] => 3
                [name] => Collier Ano petit
                [price] => 45
                [quant] => 1
                [ptotal] => 45
            )
    
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题