Foros del Web » Programando para Internet » PHP »

Problema con longitud de variable

Estas en el tema de Problema con longitud de variable en el foro de PHP en Foros del Web. Hola a todos, Tengo un problema, necesito saber si en internet explorer existe un limite de longitud de variable o algo por el estilo. Lo ...
  #1 (permalink)  
Antiguo 20/01/2009, 07:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Problema con longitud de variable

Hola a todos,

Tengo un problema, necesito saber si en internet explorer existe un limite de longitud de variable o algo por el estilo.

Lo que me pasa es que tengo una aplicación que me funciona en el firefox y en el explorer llega un momento que falla, pero lo bueno es que no falla siempre, si no a veces y creo que es dependiendo de la longitud de una variable, ya que esta puede ser de diferente tamaño en función de las decisiones del usuario. La variable contiene información que se pasa serializada.

¿Alguna solución?

Muchas gracias, empiezo a estar un poco desquiciado.
  #2 (permalink)  
Antiguo 20/01/2009, 07:46
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Problema con longitud de variable

Limite de longitus de variable???

Puedes explicarte mejor o poner un ejemplo?
__________________
Saludos!
  #3 (permalink)  
Antiguo 20/01/2009, 07:48
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema con longitud de variable

Y que tipo de variable...esta declarada en el script? con que datos?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 20/01/2009, 08:06
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema con longitud de variable

Hola,

Gracias a los 2, y perdonad por haberme expresado mal.

Os explico todo mejor:

Creo que el fallo se produce cuando en una página.php3 se redirecciona a otra página .php3.

$resultMenuUrlName = "Presentacion2.php3?consulta=$consulta&arrayRespue sta=$arrayRespuesta";
echo "<META HTTP-EQUIV=Refresh CONTENT=0;URL=$resultMenuUrlName>";

donde $consulta es un string(es un string muy grande, de muchas palabras) que pasa serializado y $arrayRespuesta es un array de objetos que también pasa serializado.

Con firefox no hay problema pero con el explorer me da el siguiente error.

Internet Explorer no puede mostrar la página web

Causas más probables:
No está conectado a Internet.
Hay un problema con el sitio web.
Es posible que la dirección no se haya escrito correctamente.

He investigado un poco y creo que el fallo se produce ahí, pero lo curioso es que creo que es en función de la longitud de la variable $consulta, ya que cuando $consulta es relativamente corta funciona, pero cuando es larga falla.

Espero que esté mejor explicado,

Muchas gracias
  #5 (permalink)  
Antiguo 20/01/2009, 08:14
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema con longitud de variable

Ahí el problema puede ser que GET si esté colapsando, o bien, tenés algo en el string que está rompiendo el meta refresh (que es lo más seguro).

Fijate en el momento que se rompe que tenés impreso en el código fuente, o usá otros métodos para poder ver el error (un header('Location:...') en php o un location.href en JS)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 20/01/2009, 08:40
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema con longitud de variable

Muchas gracias por tu respuesta nicolaspar,

y perdona mi ignorancia pero no sé a lo que te refieres.
El código fuente cuando se produce el error es el código fuente de la página del explorer que me indica el error(no sé si te refieres a eso)

Respecto a "usá otros métodos para poder ver el error (un header('Location:...') en php", ¿Para qué los uso? y ¿Dónde los uso, en la página donde se produce el error?¿y con qué dirección?

Repito perdón por mi ignorancia y gracias por todo.
  #7 (permalink)  
Antiguo 20/01/2009, 08:45
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema con longitud de variable

Es importante que sepas que estoy considerando que cuando decís que no te funciona es que no te hace el "redirect" y la página se queda ahí.
De ser así estoy casi seguro que el error se produce porque se rompe el tag HEADER. Entonces podrías usar por ejemplo lo siguiente:

Código PHP:
$resultMenuUrlName "Presentacion2.php3?consulta=$consulta&arrayRespuesta=$arrayRespuesta"
header('Location: '.$resultMenuUrlName);
exit; 
Con eso, si hay un error PHP te avisará y podrás solucionarlo. En JS sería:

Código PHP:
$resultMenuUrlName "Presentacion2.php3?consulta=$consulta&arrayRespuesta=$arrayRespuesta"
exit(
"<script>location.href = '".$resultMenuUrlName."';</script>"); 
Esto lo mismo, si hay un error en JS el browser te dirá que así es.


PD: Tenías "arrayRespue sta" y no "arrayRespuesta", ese espacio está bien?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 20/01/2009, 09:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema con longitud de variable

Hola otra vez,

Nada me pasa lo mismo. He imprimido $resultMenuUrlName por pantalla, y creo que está bien, ya que hago lo mismo cuando utilizo firefox(que con firefox me funciona) y me imprime lo mismo.

Yo creo que se queda en el redirect porque una vez que hago el redirect falla y no imprime ni la primera linea de la siguiente página. La verdad es que no tengo ni idea.

Muchas gracias por tu ayuda de verdad
  #9 (permalink)  
Antiguo 20/01/2009, 10:16
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema con longitud de variable

Si haces el redirect desde PHP como te he comentado, y éste tiene un error, te lo dará en pantalla, sino hay otro problema.

Fijate también que tengas los errores al mango como para ver cualquier error que esté pasando ante PHP.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #10 (permalink)  
Antiguo 20/01/2009, 10:19
 
Fecha de Ingreso: diciembre-2008
Mensajes: 39
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Problema con longitud de variable

Explorer efectivamente tiene un limite de caracteres para el location. 2083 para ser exactos.
http://support.microsoft.com/kb/208427
  #11 (permalink)  
Antiguo 20/01/2009, 11:02
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema con longitud de variable

Hola a los dos de nuevo,

Yo hago
$resultMenuUrlName = "Presentacion2.php3?consulta=$consulta&arrayRespue sta=$arrayRespuesta";
y luego hago bien,
header('Location:'.$resultMenuUrlName);
o bien,
echo "<META HTTP-EQUIV=Refresh CONTENT=0;URL=$resultMenuUrlName>";

que da lo mismo, supongo,¿no?

Pero, tal y como me indicaba tute666, mi variable $resultMenuUrlName tiene 2370 caracteres en total(más o menos). Da igual que haga refresh o header location, no¿? la restricción de caracteres es la misma ¿no?.

Si es así alguna forma de modificar esa restricción
  #12 (permalink)  
Antiguo 20/01/2009, 11:22
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema con longitud de variable

Si, no pases los datos por GET, usá otro método.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #13 (permalink)  
Antiguo 20/01/2009, 11:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema con longitud de variable

Lo que he hecho es envolver la página a la cual pretendía acceder en un método php, y desde la página desde donde llamaba a dicha página, he hecho una llamada a dicho método pasándole los parámetros que necesito.

Esto de momento me funciona, ya por curiosidad ¿qué otras soluciones planteais?

Muchas gracias por la ayuda, me ha sido muy útil
  #14 (permalink)  
Antiguo 20/01/2009, 12:48
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema con longitud de variable

Cita:
Lo que he hecho es envolver la página a la cual pretendía acceder en un método php
No comprendo lo que queres decír....que es "un método php"? Como estás pasando los datos ahora?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #15 (permalink)  
Antiguo 21/01/2009, 02:30
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema con longitud de variable

Hola nicolaspar,

Lo que quería hecer era enviar datos de la pagina 1 a la pagina 2 mediante el redirect.

Pues en vez de eso, lo que he hecho ha sido. Un include(pagina2) en página 1. Luego la información que tenía en la pagina 2 la he metido en un método. Y desde la página 1 he hecho una llamada a dicho método. En este caso concreto si puedo hacer eso pero quizás en otros no es posible.

Por eso preguntaba si existen más soluciones para enviar datos. Me has dicho que existen más opciones que get, y yo creo que sólo conozco get y post, y he supuesto directamente que post tiene la misma restricción de caracteres que get, o no es así¿?

Te vuelvo a agradecer todo el interés que has puesto en mis preguntas. Muchas gracias.
  #16 (permalink)  
Antiguo 21/01/2009, 06:19
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema con longitud de variable

Ok, está bien como lo hiciste, podés usar además una session, cookie, o lo que sería mejor por ahí, un webservice (si de setear valores se trata ya que el WS no te produce eventos por ejemplo, esos los manejarias desde el pedido).
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #17 (permalink)  
Antiguo 21/01/2009, 06:29
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Respuesta: Problema con longitud de variable

Cita:
he supuesto directamente que post tiene la misma restricción de caracteres que get, o no es así¿?
No.

Si los datos que quieres pasar son datos generados por el servidor, yo creo que lo mejor es usar sesiones. O meter los datos en una tabla y pasar solo el indice.
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 05:45.