El problema es que estas trabajando "a la antigua" cuando registrabas una variable para usarla en sesion y despues la usabas directamente, ahora que la funcion session_register(); y la directiva register_globals son obsoletas, debes manejarlo todo desde $_SESSION, ejemplo:
Código PHP:
Ver original// Ahora lo estas intentando asi:
$cart[$new] = 1; // $new es la ID del producto?... debiera serlo y 1 la cantidad
$total_price= calculate_price($cart);
$items= calculate_items($cart);
// Debes hacerlo asi:
$_SESSION['cart'][$new] = 1;
$_SESSION['total_price'] = calculate_price($_SESSION['cart']);
$_SESSION['items'] = calculate_items($_SESSION['cart']);