Dunque...forse non ci capiamo
Se per carrello intendi TUTTE le pagine del carrello ok!io avevo capito che fosse solo una pagina. Il session_start(), ovviamente, lo metti nelle pagine in cui tu hai la necessità di utilizzare le variabili di sessione, nelle altre è inutile...

Per concatenare un valore ad un array di sessione io faccio così, e mi funziona benissimo:

codice:
$_SESSION['menu'][] .= $_GET['ricid'];
e mi concatena la variabile che ho in querystring al mio array menu.

Spero che stavolta ci siamo capiti