Ciao a tutti
sto usando codeigniter da una settimana e mi servirebbe una spiegazione riguardo le sessioni..
faccio un esempio cosi si capisce meglio

pagina che esegue il login (semplificata)..
Codice PHP:
if(login())
{
     
$this->load->library('session'); (salva nel db session_idip_addressuser_agentlast_activity)
     
$this->session->set_userdata('user_id'$this->id); (l'id mi serve per impostare la paginaprotetta in base all'user..)
     
redirect('paginaprotetta');

paginaprotetta
come faccio a capire se l'user è loggato?
all'inizio pensavo che dovevo controllare la session_id del cookie con quella nel db..
esempio: $this->db->where('session_id', $this->session->userdata('session_id'))
però per usare la funzione userdata devo prima caricare la libreria $this->load->library('session') che mi crea una nuova sessione nel db..

poi ho notato che le session_id nel db cambiano spesso ma non cancellano quelle vecchie, nel manuale c'è scritto: The Session class has built-in garbage collection which clears out expired sessions so you do not need to write your own routine to do it.

infine mi chiedevo se era sicuro lasciare l'user_id nel cookie della sessione, magari modificando quest'ultimo dal cookie si riusciva a loggare con altri utenti però non ci ho ragionato molto..è solo un ipotesi..prima vorrei capire come funzionano