Foros del Web » Programando para Internet » PHP » CodeIgniter »

Codeigniter Problema con array y sesiones

Estas en el tema de Codeigniter Problema con array y sesiones en el foro de CodeIgniter en Foros del Web. Estimados Foristas tengo el siguiente inconveniente con CI, este metodo se encuentra en el controlador "propiedades" y es llamado desde la vista recibiendo como parametros ...
  #1 (permalink)  
Antiguo 11/08/2011, 14:07
martin535
Invitado
 
Mensajes: n/a
Puntos:
Codeigniter Problema con array y sesiones

Estimados Foristas tengo el siguiente inconveniente con CI, este metodo se encuentra en el controlador "propiedades" y es llamado desde la vista recibiendo
como parametros categoria/id, los valores llegan sin problemas y la idea es ir guardando en la session las distintas selecciones que hacen para filtrar los
resultados
Las sesiones estan en DB ya que me permite ver la informacion y no tengo problemas con el limite de las cookies.

El problema especifico es que la PRIMERA vez que se llama a filtro, se ejecuta la parte de sesiones tanto la registracion de VAR como la de VAR1 que esta
en el else, pero los echo se ejecutan bien o sea la primera vez se muestra P1 y la segunda y siguientes P2.
Probe en algun momento hacer un unset en el else antes de volver a registrar el array en la session y resulta que en el primer llamado a filtro se ejecutaba
en unset dando siempre false var1 entrando en un ciclo infinito con la misma informacion.
Les dejo el codigo y desde ya agradezco su ayuda


Código PHP:
Ver original
  1. function filtro($categoria,$id){
  2.        
  3.        
  4.        
  5.         $var1 = $this->session->userdata('var');
  6.        
  7.         if($var1===FALSE){
  8.             $sess_array = array();
  9.             $sess_array = array(
  10.                     $categoria=> $id
  11.                    
  12.                     );
  13.             $this -> session -> set_userdata('var', $sess_array);
  14.            
  15.             var_dump($sess_array);
  16.             echo "p1";
  17.         }else{
  18.             $sess_array = array();
  19.             $sess_array = array(
  20.                     $categoria=> $id
  21.                    
  22.                     );
  23.                    
  24.             $aresu = array_merge($var1,$sess_array);
  25.            
  26.             $this -> session -> set_userdata('var1', $aresu); //aca lo correcto tendria que ser var1 pero puse esto para que vean el problema
  27.             echo "p2";
  28.            
  29.         }
  30.         }


La primera ves que se ejecuta var tiene esta info visto con var_dump
array(1) { ["barrios"]=> string(1) "1" }

Pero se guarda esto en la sesion , pueden ver que esta var y va1 con informacion

a:2:{s:3:"var";a:1:{s:7:"barrios";s:1:"1";}s:4:"va r1";a:1:{s:7:"barrios";s:3:"inc";}}


Saludos
Martin
  #2 (permalink)  
Antiguo 11/08/2011, 14:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Codeigniter Problema con array y sesiones

Esa es la sintaxis para datos serializados, puedes usar unserialize() para regresar a un array.

Saludos.
  #3 (permalink)  
Antiguo 14/08/2011, 17:52
martin535
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Codeigniter Problema con array y sesiones

Gracias por tu respuesta, voy a probar hacer una version con serialize y unserialize pero no se si va afuncionar ya que el problema que tengo con esta version es que no respeta el IF con la informacion de la sesion o sea ejecuta en un solo paso tanto lo que estan en el IF como en el ELSE y por eso se produce lio con los datos, si ves barrios tiene valor "inc" cuando en realidad se pasan integer.

Etiquetas: frameworks-y-php-orientado-a-objetos, sesiones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:28.