Re: [Ovillo] serialize [PHP]

2013-03-08 Por tema CHK Webmaster
Hola, Marcos:

Investigando un poco he encontrado un par de posts relacionados con tu
problema.
En uno hablan de añadir los backslash al serializar y de quitarlos antes
de
hacer el unserialize.

Quizás puedan ayudarte:

http://stackoverflow.com/a/2888438/1538221
http://davidwalsh.name/php-serialize-unserialize-issues

Salud!

2013/3/8 marcos méndez filesi mmfil...@gmail.com

 creo que pasaría lo mismo, pues también las escaparía generando así un
 carácter de más en el cómputo del serialize : )...


 El 8 de marzo de 2013 01:15, Jose María Jareño García 
 i...@construyetunegocioeninternet.com escribió:

  ¿Y si conviertes las comillas dobles a comillas simples?
 
  El 8 de marzo de 2013 01:04, marcos méndez filesi mmfil...@gmail.com
  escribió:
 
   gracias en cualquier caso, amigo.
  
   a) El problema es que la idea de la aplicación es que el usuario solo
  tenga
   que cortar y pegar el código de embeber de yutube o vimeo o lo que
  sea... y
   como la idea es liberar la aplicación, pues vete a saber los perfiles
 que
   la manejarán. Vamos, que las comillas del código iframe...  hay que
   comérselas sí o sí.
  
   b) Podría hacer un preg_replace antes del real_escape_string, y escapar
  las
   comillas, pero el problema seguiría siendo el mismo, pues es justo lo
 que
   hace el real_escape...
  
   Por lo que intuyo, el problema debe venir de que cuando serializa, un
   dígito guarda el valor de la cadena. IE: s:6:activo (de string 6).
 Como
   cuando unserializa cuenta los caracteres, se debe de hacer un lío entre
  la
   barra y la comilla, contándolos como dos o como uno
  
  
   El 8 de marzo de 2013 01:01, Jose María Jareño García 
   i...@construyetunegocioeninternet.com escribió:
  
mmm no he dicho nada. No había entendido tu pregunta Marcos.
   Disculpa.
   
El 8 de marzo de 2013 00:54, Jose María Jareño García 
i...@construyetunegocioeninternet.com escribió:
   
 Hola Marcos

 ¿Has probado a escapar los caracteres con \  ?

 El 8 de marzo de 2013 00:00, marcos méndez filesi 
  mmfil...@gmail.com
escribió:

 Hola y gracias de antemano por la atención,

 1) La idea de una aplicación es guardar unas opciones generales en
  un
 array. Para eso es necesario serializar los datos...

 $arrayOpciones = array(
 'activo'=1,
 'id_canal'= $id_canal_autor,
 'titulo'= $titulo,
 'autor' = $autor,
 'descripcion_autor' = $descripcion_autor,
 'url' = $url,
 'iframe' = $iframe,
 'descripcion_evento'= $descripcion,
 'localizacion'= $localizacion
 );
 $arrayOpciones = serialize($arrayOpciones);

 Lo guarda en la bbdd sin problemas y lo recupero sin problemas con
 unserialize.

 $arrayDatosPantalla = $mi_selector-getterConsultaSimple();
 $arrayDatosPantalla =
   unserialize($arrayDatosPantalla['datosDirecto']);

 2) El problema viene por esto. Este es el tratamiento que reciben
  las
 variables antes de insertarlas.

 if ( isset($_REQUEST['canal_iframe']) ) {
 $iframe = strip_tags($_REQUEST['canal_iframe'],'iframeembed');
 $iframe = $link_id-real_escape_string($iframe);

 Una de ellas debe almacenar la típica etiqueta iframe..., que
  tiene
 muchas comillas...

 iframe width=560 height=315

 3) Al unserializar, o como se diga el aplicar unserialize,
 genera
  un
 error...

 Notice: unserialize() [function.unserialize]: Error at offset 397
 of
1018
 bytes in

 que no da si no real_escapeo, la variable.

 

 ¿Alguien ha tenido alguna vez un problema semejante o sabe cómo
 solucionarlo?

 GRACIAS!

 --
 Marcos Méndez Filesi
 http://www.mmfilesi.com/
 ___
 Lista de distribución Ovillo
 Para escribir a la lista, envia un correo a
 Ovillo@lists.ovillo.org
 Puedes modificar tus datos o desuscribirte en la siguiente
  dirección:
 http://lists.ovillo.org/mailman/listinfo/ovillo




 --

 HERRAMIENTAS PARA NEGOCIOS
 CAPACITACIÓN PROFESIONAL EN LÍNEA
 http://construyetunegocioeninternet.com
 *

 Oficina Virtual - Despacho Privado
 http://login.meetcheap.com/conference,ctnei

 Chema Jareño García*
 *e-mail: * i...@construyetunegocioeninternet.com
 *skype:*   construyetunegocioeninternet

 Si no tienes Skype instalado, puedes DESCARGAR Skype AQUÍ
http://www.skype.com/intl/es/get-skype/

   
   
   
--
   
HERRAMIENTAS PARA NEGOCIOS
CAPACITACIÓN PROFESIONAL EN LÍNEA
http://construyetunegocioeninternet.com
*
   
Oficina Virtual - Despacho Privado
http://login.meetcheap.com/conference,ctnei
   
Chema Jareño García*
*e-mail: * i...@construyetunegocioeninternet.com
*skype:*   construyetunegocioeninternet
   
Si no tienes Skype instalado, puedes DESCARGAR Skype

Re: [Ovillo] serialize [PHP]

2013-03-08 Por tema .
Por favor, si alguien tiene a los alguno de los desarrolladores del
lenguaje PHP a mano, por favor que le de una colleja bien fuerte de mi
parte.

Que serialize este roto es muy fuerte.  Serialize y Unserialize
deberian ser operaciones seguras y reciprocas. Que esten rotas es como
si en un lenguaje de programacion  2+ 1 = 3 pero  3-1 != 2.

En algun sitio lei que json_encode era mas rapido que serialize,
quizas habria que plantearse utilizar json_encode/json_decode en lugar
de serialize. Aunque json_encode tiene la limitacion de que choca
cuando le pasas cadenas que no estan en utf-8.

2013/3/8 CHK Webmaster admin...@gmail.com:
 Hola, Marcos:

 Investigando un poco he encontrado un par de posts relacionados con tu
 problema.
 En uno hablan de añadir los backslash al serializar y de quitarlos antes
 de
 hacer el unserialize.

 Quizás puedan ayudarte:

 http://stackoverflow.com/a/2888438/1538221
 http://davidwalsh.name/php-serialize-unserialize-issues



-- 
--
ℱin del ℳensaje.
___
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Re: [Ovillo] serialize [PHP]

2013-03-08 Por tema marcos méndez filesi
jajajjaja sí.

**
OK, funciona con Json si al recibir ponemos true en el parámetro assoc. (Cuando
es *TRUE*, los objecthttp://www.php.net/manual/es/language.types.object.phps
retornados se convertirán en
arrayhttp://www.php.net/manual/es/language.types.array.phps
asociativos.)

Al enviar:

$arrayOpciones = array('activo'=1,
'id_canal'= $id_canal_autor,
'titulo'= $titulo,
'autor' = $autor,
'descripcion_autor' = $descripcion_autor,
'url' = $url,
'iframe' = $iframe,
'descripcion_evento'= $descripcion,
'localizacion'= $localizacion
);
$arrayOpciones = json_encode($arrayOpciones);

al recibir

$arrayDatosPantalla = json_decode($arrayDatosPantalla['datosDirecto'],
true);

Voy a ver si descubro ahora que no se me escojoncien acentos y eñes :P


El 8 de marzo de 2013 09:56, . oscar.vi...@gmail.com escribió:

 Por favor, si alguien tiene a los alguno de los desarrolladores del
 lenguaje PHP a mano, por favor que le de una colleja bien fuerte de mi
 parte.

 Que serialize este roto es muy fuerte.  Serialize y Unserialize
 deberian ser operaciones seguras y reciprocas. Que esten rotas es como
 si en un lenguaje de programacion  2+ 1 = 3 pero  3-1 != 2.

 En algun sitio lei que json_encode era mas rapido que serialize,
 quizas habria que plantearse utilizar json_encode/json_decode en lugar
 de serialize. Aunque json_encode tiene la limitacion de que choca
 cuando le pasas cadenas que no estan en utf-8.

 2013/3/8 CHK Webmaster admin...@gmail.com:
  Hola, Marcos:
 
  Investigando un poco he encontrado un par de posts relacionados con tu
  problema.
  En uno hablan de añadir los backslash al serializar y de quitarlos
 antes
  de
  hacer el unserialize.
 
  Quizás puedan ayudarte:
 
  http://stackoverflow.com/a/2888438/1538221
  http://davidwalsh.name/php-serialize-unserialize-issues
 


 --
 --
 ℱin del ℳensaje.
 ___
 Lista de distribución Ovillo
 Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
 Puedes modificar tus datos o desuscribirte en la siguiente dirección:
 http://lists.ovillo.org/mailman/listinfo/ovillo




-- 
Marcos Méndez Filesi
http://www.mmfilesi.com/
___
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo