Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/09/2017, 03:21
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Session Codeigniter No se mantienen

Saludo.

De nada.

Bueno, yo estoy usando la versión 3.1.3 de CodeIgniter
y la versión 3.1.0 Beta 6 de Xampp.

Pues que raro que te este molestando,
sin embargo, he bajado la versión 3.0.6
y ya la probé y funciona.

Te cuento lo que tengo en los archivos.

autoload.php

Código PHP:
Ver original
  1. $autoload['libraries'] = array('session');
  2. $autoload['helper'] = array('url');
  3. $autoload['model'] = array('login_model');


controllers/Login.php

Código PHP:
Ver original
  1. public function validar() {
  2. /*deje la carga en comentario aquí porque en autoloads ya se carga
  3.    pero si se quisiera hacer lo contrario, es decir, no cargar en autoload
  4.    y cargarla aquí, también funciona.
  5. */
  6.     //$this->load->model('login_model');
  7.     if ($this->input->post('usuario') != "" && $this->input->post('clave') != "") {
  8.     $usuario = $this->login_model->getValidarUsuario($this->input->post('usuario'), $this->input->post('clave'));
  9.     if (!empty($usuario)) {
  10.     $sessionData = array(
  11.     'usuario' => $usuario[0]['USUARIO'],
  12.     'login' => TRUE
  13.     );
  14.     $this->session->set_userdata($sessionData);
  15. //aquí verifiqué si asignaba bien o no en principio, prueba OK
  16. //print_r($this->session->userdata); exit;
  17. // en los redirect quite el index.php
  18.     redirect('/cpanel');
  19.     } else {
  20.     redirect('/login');
  21.     }
  22.     } else {
  23.     redirect('/login');
  24.     }
  25.     }


routes.php

Código PHP:
Ver original
  1. $route['default_controller'] = 'Login';
  2. $route['validar'] = 'Login/validar';

Las cookies tienen los mismos valores que publicaste,
son los que vienen por default.

Y en el modelo, no cargue bd ni nada,
solo algo dummie para la prueba.

Login_model.php

Código PHP:
Ver original
  1. public function getValidarUsuario($user, $pass)
  2.         {        
  3.             if( $user == 'user1' && $pass == 'pass2')
  4.                 return array(array('USUARIO'=>'user1conpass2'));
  5.         }

Y el Cpanel con su var_dump quedó igual, y lo muestra bien.

En cuanto al xampp, no creo que de conflicto,
sin embargo, has un phpinfo() para ver que
todo este bien (la librería de sesión cargada, etc)

Ya nos contarás.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com