En en el anterior código tienes un buen cacao (maravillao). Creo que lo correcto es ponerlo así:
Código PHP:
session_start();
if (!isset($_SESSION["itemsencesta"]))
{
$_SESSION["itemsencesta"] = array();
}
if (isset($_POST['item']))
{
$item=$_POST['item'];
$talla=$_POST['talla'];
$color=$_POST['color'];
$itemsencesta = array(
referencia=>$item,
color=>$color,
talla=>$talla,
cantidad=>1
);
array_push($_SESSION["itemsencesta"],$itemsencesta);
}
else
{
}
De todas formas, al principio de este script página pon un print_r($_POST) y muéstralo aquí.