Foros del Web » Programando para Internet » PHP »

Error unserialize en 5.3 pero no en 5.4

Estas en el tema de Error unserialize en 5.3 pero no en 5.4 en el foro de PHP en Foros del Web. Hola, Tengo un problema con la función serialize y unserialize. Lo curioso es que funciona perfectamente en la versión 5.4.4 y no en la 5.3.6, ...
  #1 (permalink)  
Antiguo 08/07/2013, 05:48
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Error unserialize en 5.3 pero no en 5.4

Hola,

Tengo un problema con la función serialize y unserialize.
Lo curioso es que funciona perfectamente en la versión 5.4.4 y no en la 5.3.6, cosa que en la documentación no pone nada de que hayan cambiado nada.

Lo que hago es crear un array con todos los datos. Y después hago:

Código PHP:
Ver original
  1. $array = serialize(json_encode($array));

En $array se almacena el array. Luego de enviarlo por POST hago:

Código PHP:
Ver original
  1. $recibido = json_decode(unserialize($_POST['array']));

Y en la versión 5.4.4 funciona perfectamente pero en la 5.3.6 da el error:

unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 0 of 676 bytes
__________________
@JaimeMSE - ¡Sígueme!
  #2 (permalink)  
Antiguo 08/07/2013, 06:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error unserialize en 5.3 pero no es 5.4

Tal vez en la versión 5.3.6 tienes habilitadas las comillas mágicas y debas usar stripslashes() para remover su efecto.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 08/07/2013, 07:05
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Error unserialize en 5.3 pero no es 5.4

Muchísimas gracias!!!!!

Era eso, añadido stripslashes y funciona perfecto:

Código PHP:
Ver original
  1. $recibido = json_decode(unserialize(stripslashes(Input::get('statisticsJSON'))));

De nuevo, muchas gracias!
__________________
@JaimeMSE - ¡Sígueme!

Etiquetas: unserialize
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 02:40.