La verdad es que no me aparece mensaje de error pero en el servidor local me funciona bien ( o eso creo) y cuando lo subo a internet, el carrito no se llena ni se vacia correctamente. Tengo 5 archivos para articular la tienda en la que paso información  a trves de sesiones y de POST de unas paginas a otras
el codigo del carrito es: ( a ver si me puedes deir si ves alho mal)
 
   Código PHP:
    <?php
session_start();
$preciouni=17.90;
$total="";
$precio="";
 
 
if(!isset($_SESSION['carrito']))  {$_SESSION['carrito'] = array(); } //creación del carro, si no está lo creamos
 
 
if(isset($_POST['talla']))  //comprobación de la existencia del formulario, a traves de uno de sus campos, para el ejemplo vale asi
    {
    
        $clave = "";
        foreach($_POST as $key=>$valor) $clave.= $valor; //se forma una sola clave con la combinacion de todos los elementos 
                //pasados por post
    
        if(isset($_SESSION['carrito'][$clave])) 
            {$_SESSION['carrito'][$clave] += 1;}//asignacion de los valores
        else {$_SESSION['carrito'][$clave] = 1;}
    }
 
if  (isset($_GET["vaciar"]) == TRUE)
    {
    
    $_SESSION['carrito']="";
    
    }
    
?>    
   
Y el contenido del carrito lo muestro con este codigo:  
 Código PHP:
    <?php 
if($_SESSION['carrito']<>"")
{
  foreach ($_SESSION['carrito'] as $key=>$valor) 
{ 
 echo "<tr>";
 
 
 echo "<td>".$key."</td><td>".$preciouni."</td><td>$valor</td>";
?> 
 
 
 
<? $total =$total +($preciouni*$valor);
 
}  echo "</tr>";
}
 
?>
 
</table><br><br>
<span class="total">PRECIO TOTAL:
<? echo  $total;
?></span>   
  Muchas gracias por tu interes, un saludo