Visto che il cookie è un file di testo, bisogna fare attenzione. Il cookie lo imposti per sapere di che utente si tratta. Ora non bisogna cadere nell'errore di impostare come valore il nome utente. In questo caso mi basterebbe modificare il valore del cookie con il nome di un altro utente e potrei accedere indebitamente come altro utente.

Io faccio così. Quando devo impostare il cookie, come valore scrivo nomeutente::assword_criptata_md5.

Al momento di verificare la pagina succede questo.

Verifico se è impostata la sessione, se sì tutto ok. Se no:

Verifico se c'é un cookie (se no ti mando al login)

Se c'è explodo il valore su :::

Verifico se esiste un utente con quel nome e se la sua password è quella

Se sì imposto la sessione.