Potresti utilizzare le sessioni su db che memorizzano tutto. Crei uno script che viene richiamato in tutti i file, tale script fa il controllo se la sessione è attiva o meno, e poi fai tutti le operazioni del caso. Se vuoi che l'utente una volta uscito (intendo uscito dal sito) rimangono memorizzati i dati nel carrello, metti il codice della sessione nel cookies che andrai a rileggere ad ogni accesso