ti basta salvare da qualche parte la preferenza
è esattamente questo il concetto di sessione...
@guardiano
il numero di cookie e la loro dimensione è limitata, mentre nella sessione puoi inserire ciò che vuoi (entro certi limiti ovviamente) ma, soprattutto,
le variabili di sessione restano sul server.
da quanto sopra si deduce che le informazioni, ove non sia richiesta una certa persistenza, vanno poste in sessione e non in cookie. questo a livello di informazione generale.
come hai ben detto, una volta chiusa la sessione, le variabili sono cancellate, subito o quasi (vedi tabella #__session), comunque restano sul server e non sono più accessibili da sessione.
per il resto direi che hai già fatto ciò che volevo suggerirti ovvero verificare il ricorrere delle due evenienze per non visualizzare i prezzi, in pseudo code:
if( !(utenteLoggato && nascondiPrezzi) ) mostraPrezzi();
direi che va bene così, se no dovresti modificare nuovamente tutto (ed è lunga farlo bene), la prossima volta lo imposterai in modo diverso.
ciao,
marco
ps:continua a sfuggirmi la ratio del non mostrare i prezzi agli utenti registrati... finora mi avevano sempre chiesto il contrario