Así que configuré una página de inicio de sesión que verifica las credenciales del usuario y luego establecí los datos de sesión de codeigniter 'email' e 'is_logged_in' y algunos otros elementos. La primera página después del inicio de sesión, los datos están accesibles. Después de esa página, ya no puedo acceder a los datos de la sesión. De hecho, si intento volver a cargar esa primera página, los datos de la sesión desaparecen.Codeigniter Session Data no disponible en otras páginas después del inicio de sesión
He intentado guardarlo en la base de datos, almacenarlo sin cifrar (mala idea, lo sé, pero fue para solucionar problemas) y almacenarlo encriptado. He cargado automáticamente la biblioteca de la sesión en config.php.
He aquí un ejemplo del código que estoy usando para establecer los datos de sesión:
$data = array(
'email' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
Y para recuperarlo, estoy usando:
$this->session->userdata('email');
O
$this->session->userdata('is_logged_in');
He trabajado mucho con PHP y cookies, y sesiones anteriores, pero este es mi primer proyecto con Codeigniter y estoy perplejo.
¿Podría tener algo que ver con problemas de directorio? Tengo la página de inicio de sesión y el proceso controlados por un controlador de 'inicio de sesión', y luego se redirige a un controlador 'sitio'.
Gracias por su ayuda, por favor avíseme si necesito aclarar algo.
¿Ha visto en la tabla de la base de datos que la entrada del usuario conectado se agrega o no en la tabla ci_sessions? Y matriz JSON para la columna que almacenó –
Utilice esta biblioteca de sesión nativa: –
AlamoPS
Desactivo las contramedidas CSRF y XSS en config.php cuando estoy desarrollando. También apague la seguridad de las cookies en Dev. Simplemente no empuje su archivo Dev config.php a Prod. –