Quello che conta è il nome del cookie. Se lo chiami pippo, dorai poi usare il readcookie passando "pippo" come valore e poi potrai leggere tutto quel che c'è nel cookie e che hai settato.
Per evitare però problemi di tipo hijacking, le informazioni sensibili (es la categoria, nel tuo caso) è meglio se li recuperi sempre dal db.
Utente si logga: leggi sul db la sua categoria e crei una sessione tramite cookie con un parametro univoco per "tenerlo loggato" (es: id utente + timestamp login + categoria, il tutto in md5). Contemporaneamente salvi questo dato univoco in una riga in una tabella del db per tenere traccia della corretta autenticazione e di altri parametri tipo "ultimo movimento", "browser" o quel che ti serve.
utente naviga: leggi dal cookye il parametro di sessione univoco e lo confronti su quanto salvato nel db nella tabella delle sessioni. Se corrisponde allora può navigare (e aggiorni tipo l'ultima visita nella tabella delle sessioni), altrimenti lo slogghi (cancelli il cookie ed elimini la riga dalla tabella delle sessioni) e lo rimandi al login
Perchè fare questo? Perchè se tu la categoria la salvi nel cookie e non controlli la reale corrispondenza, io potrei modificare a mano il cookie e far finta di essere di un'altra categoria....
![]()