beh...io direi solo sessioni e db

con la sessione tieni traccia della posizione corrente dell'utente...mentre nel db inserisci tuto ciò che contiene il carrello e lo agganci all'hash della sessione...in questo modo chi esce perde le varie info...chi invece è registrato avrà legato alla sessione anche l'id utente...quindi basta fare una ricerca combinata e trovi tutto anche se trovo inutile mantenere la lista delle cose nel carrello dopo che uno chiude la pagina web (xche se lo fa vuol dire che nn gli interessa acquistare)