Помогите обнулить корзину

  • Автор темы premiums
  • Дата начала

premiums

Guest
Помогите обнулить корзину

У меня проблема. В корзине 2 товара - при удалении первого из них - все проходит гладко -> переходим на главную и видем в корзине 1 товар но цена как за два.


Вот функция
PHP:
  function remove_item($item_id)
  {
    foreach ($_SESSION['c']['items'] as $n => $cart_position)
    {
      if ($cart_position['id']==$item_id)
      {
        $_SESSION['c']['items'][$n]['count']--;
		
        $_SESSION['c']['items_total']=$_SESSION['c']['items_total']-$_SESSION['c']['items'][$n]['price'];
	
$_SESSION['c']['items_total_usd']=$_SESSION['c']['items_total_usd']-$_SESSION['c']['items'][$n]['price_usd'];
        if ($_SESSION['c']['items'][$n]['count']==0) {unset($_SESSION['c']['items'][$n]);
        };
       
        break;
      }
    }  
  }

  function remove($c_id)
  {
	  
    $_SESSION['c']['items_total_usd']=$_SESSION['c']['items_total_usd']-$_SESSION['c']['items'][$c_id]['price_usd'];
$_SESSION['c']['items_total']=$_SESSION['c']['items_total']-$_SESSION['c']['items'][$c_id]['price'];
    unset($_SESSION['c']['items'][$c_id]);
  }
А вот пример проблеммы

р товара http://teem.ru/?page=3&id=47&add2cart=289
набор товара http://teem.ru/?page=3&id=50&add2cart=552
переход в корзину http://teem.ru/?page=9
удаление первого товара в корзине
переход на главную http://teem.ru/?page=1 ==> суммарная цена в корзине не уменьшается !!!
набор товара http://teem.ru/?page=3&id=45&add2cart=2745 ==> в корзине 1 товар
переход в корзину http://teem.ru/?page=9 ==> так же один товар остался
Но цена в корзине остаётся за все ранее выбраные товары.
 

SiMM

Новичок
Зачем вообще хранить в сессии items_total и items_total_usd, когда их можно считать по необходимости?
 

Фанат

oncle terrible
Команда форума
у тебя какая-то бредовая корзина, пардон за мой французский.

в ней должны содержаться только товары.
а все тоталы вычисляться при выводе.

удаление элемента делается безо всяких функций и циклов, одним оператором unset
 

premiums

Guest
Поясню - сайт достался от другого програмиста.
Написан на php5 + MySQL 4.1 + Apache2 + XSL шаблоны.

Я знаю как надо корзину делать граматно но этот вариант уже не переделать. Так как весь сайт завязан на этих переменных.

Посоветуйте кто что может.)
Только не надо говорить - переписать корзину - так как придется переписовать весь сайт

-~{}~ 03.11.05 12:41:

Я так понимаю надо обнулить корзину а потом сделать пересчет заново. Как?? вопрос для меня
 

premiums

Guest
))) Но у меня все работает - только небольшой глюк есть))) И у меня не получается его проверить
 
Сверху