Foros del Web » Programando para Internet » PHP »

Error de memoria al pasar varios hidden en un form

Estas en el tema de Error de memoria al pasar varios hidden en un form en el foro de PHP en Foros del Web. Hola a todos, Tengo un problema a la hora de añadir varios campos ocultos en un form. Concretamente, cuando añado una serie de variables al ...
  #1 (permalink)  
Antiguo 02/02/2011, 02:42
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Error de memoria al pasar varios hidden en un form

Hola a todos,

Tengo un problema a la hora de añadir varios campos ocultos en un form. Concretamente, cuando añado una serie de variables al value de esos campos. El resultado es una ralentización considerable en las consultas y un bloqueo del apache.

Tengo una página con dos formularios. Uno de consulta con una serie de combos y campos, (estos son los que quiero mantener con cada recarga) y otro para añadir articulos a una tabla (Este segundo formulario muestra un listado de artículos en función de lo que el usuario ha filtrado en los combos y contiene un botón: "Añadir" para introducir en una tabla los articulos seleccionados.

El problema es que, si añado articulos a la tabla, no quiero perder los datos introducidos en los combos con cada recarga y me gustaría poder mantener el filtro. Es decir, si el usuario abre la pagina y selecciona marca: hp, categoria: impresoras, etc. al pulsar filtrar (boton del primer formulario), se hace una recarga y se muestran las impresoras hp. (Aquí sí que se mantienen los campos informados). Luego paso estos datos de filtro al segundo formulario por unos campos ocultos. Cuando el usuario selecciona varias impresoras de la lista y pulsa Añadir (botón del segundo formulario), se recarga la página y, recuperando los valores del filtro de los campos ocultos, consigo mantener estos datos en los combos del primer formulario para no tener que volver a filtrar y poder seguir añadiendo en esa misma búsqueda.

Mi problema es que, si no pongo values a los hidden todo va como la seda pero, si añado esos datos a los values, se ralentiza todo y llega a bloquearse el apache.


Código:
// Si se utiliza el Formulario de Consulta (Primer Formulario).
if (isset($_POST["Filtro"])) {
    // Mantener los datos de los combos en cada consulta
    $var_marca = $_POST['comboMarcas'];
    $var_categoria = $_POST['comboCategorias];
    ….
    $var_texto = $_POST['campoNombre'];
}

// POST del segundo formulario (Añadir artículos)
if (isset($_POST["Añadir"])) {
			
/*Recuperar los valores del Filtro que están en los campos ocultos y asignarlos a las variables asociadas en los combos para mantenerlos con cada recarga de página.*/
    $var_ marca = $_POST['marca_hide'];
    $var_ categoria = $_POST[categoria _hide'];
    …
    $var_texto = $_POST['texto_hide'];		
}

<!-- FORMULARIO DE CONSULTA -->
<form style="margin: 0px;" name="consultaArticulos" method="POST" action="">

<SELECT class="combobox" NAME="comboMarcas">
<!-- Introducir todas las Ediciones en el ComboBox -->
<?

/*Seleccionar la primera marca del combo y almacenarla en una variable ($firstMarcaCombo).La primera vez que se cargue la página, $_POST['comboMarcas'] será igual a esta variable.
De esta forma, la consulta es más rápida porque no tiene que extraer todos los artículos, sino que siempre filtra. */
			
$firstMarcaCombo = $resultadoMarcas[0][‘marca’];
			
if( !($_POST['comboMarcas']) && !($_POST['edicion_hide']) ) {
    $_POST['comboMarcas'] = $ firstMarcaCombo;
}


// Se mantiene la marca seleccionada en el combo después de Filtrar.

for ($i=0; $i < $fila3; $i++) {
/* Se utiliza la función str_replace para sustituir el carácter \ que utiliza el php para reconocer el '. De esta forma, las marcas con apóstrofe, son seleccionadas tras el filtro.*/

if(str_replace("\\","",$var_marca) == $ resultadoMarcas [$i][‘marca’])
    echo "<option value=\"".$ resultadoMarcas [$i][‘marca’]."\"selected=\"selected\">".$ resultadoMarcas [$i][‘marca’]."</option>";
else
    echo "<option value=\"".$ resultadoMarcas [$i][‘marca’]."\">".$ resultadoMarcas [$i][‘marca’]."</option>";
}
?>
</SELECT>
	
// 4 combos con el mismo código de este.
	
// Textfield
<input class="combobox" type='text' name="campoNombre" value="<?=$var_texto?>">
	
// Boton
<input class=BtnFiltrar name="Filtro" TYPE='submit' VALUE='Filtrar'>
</form>

<!-- FORMULARIO AÑADE ARTICULOS AL PEDIDO -->
<form style="margin: 0px;" name="addCartas" method="POST" action="">
// Añadir los values de estos campos oculto es lo que revienta el apache y ralentiza muchisimo las consultas
<input type="hidden" name="marca_hide" value="<?=$var_marca?>" />
<input type="hidden" name="categoria_hide" value="<?=$var_categoria?>" />
…
…
<input type="hidden" name="texto_hide" value="<?=$var_texto?>" />
	
// Crear el sql de consulta según los campos del primer formulario y lanzar la consulta para ver la tabla con los artículos filtrados.
$sqlListadoArticulos = "SELECT FROM articulos INNER JOIN marcas ON articulos.idmarca=marcas.idmarca INNER JOIN categorias ON...";

if ($_POST['comboMarca']) {
}

if ($_POST['comboCategoria']) {
}
etc... con los otros dos combos y textfield
	
	
// Mostrar la lista de artículos en una tabla con un for (recorre los valores de la consulta).
	
<input class=BtnAñadir name="addPedido" id="btnAddPedido" TYPE="submit" VALUE="Añadir">

</form>
		
//recorrer el array pedido y mostrar los articulos que se han ido añadiendo.
//Esta es la parte que va muy lenta si añado los 5 hidden al segundo formulario. 
Este es exactamente el código que tengo, ¿ok?.

Caso A:
Al iniciar la página, se filtra por la primera marca. Se genera la consulta que muestra el listado de articulos filtrados por la primera marca y se muestra en la tabla.
Si el usuario tenía pedidos añadidos en otras sesiones, se mueatran también.

Caso B:
El usuario modifica los combos y el campo de texto que hay en el primer formulario y pulsa Filtrar.
Se recarga la página. Se almacenan en los var_XXXX los valores de los campos completados en el primer formulario. Se almacenan en los hide. Se genera la consulta, esta vez, filtrada por todos los campos y se muestra en la tabla.

Caso C:
El usuario selecciona del listado de artículos, varios de ellos con los checks y pulsa Añadir. (Segundo formulario).
Se almacenan en los var_XXXX los valores de los combos ocultos y, al recargar la página, se muestran en los campos del primer formulario.

Funciona bien!! Pero ralentiza muchísimo la consulta de los artículos añadidos anteriormente al pedido del usuario y, si dejo los cinco campos ocultos, llega a reventar el apache.

¿Se te ocurre algo con este código?
¿Qué debería cambiar?. Fíjate que todos estos problemas de lentitud y bloqueos en el navegador se dan, únicamente, cuando añado las variables a los values de los campos hidden.
  #2 (permalink)  
Antiguo 02/02/2011, 06:00
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

Con qué valor tienes max_post_size del PHP? Y memory_limit?

Si realmente el fallo es por la información (tampoco sé qué cantidad de datos metes en cada input), es probable que sea por la configuración de esos dos parámetros.

Para hacer filtros sin recargar la página hay muchísimas alternativas, desde grids con jquery que ya te hacen el trabajo, hasta el uso de AJAX, pasando por guardar los parámetros que no quieres perder en variables de sesión en lugar de post.
  #3 (permalink)  
Antiguo 02/02/2011, 06:23
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

Hola Wesorz,

imagino que esos parámetros estarán definidos en el php.ini, verdad?
Lo comprobaré en cuanto llegue. ¿Qué valores deberían ser óptimos?
Ahora mismo tengo los que vienen con la instalación, pues no he tocado el archivo.

¿Cuánto debería poner en el max_post_size?

En el memory_limit, creo recordar que venía un 16M con la instalación.

Lo que me cuentas de usar la librería JQuery para evitar recargas de toda la página es interesante pero no tengo ni idea de cómo funcionan esos grids...
¿Algún ejemplillo o manual concreto?
He mirado en google pero la información es extensa y, para este proyecto, no tengo demasiado tiempo. A veces es mejor centrarse y estudiarlo para definirlo bien pero, en otras ocasiones, no depende del programador...
  #4 (permalink)  
Antiguo 02/02/2011, 06:39
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

http://www.trirand.net/demophp.aspx

Ese es uno de los muchos que hay.

Los valores del max_post_size y memory_limit dependen del tipo de aplicación, pero si te va lento, empezaría aumentando memory_limit en potencias de 2 (el siguiente sería 32M). De todos modos es muy raro que el apache se quede frito sin más en lugar de dar un error de memoria, que es lo más habitual.
  #5 (permalink)  
Antiguo 03/02/2011, 01:33
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

Hola a todos,

ayer entré en el php.ini y subí los valores.

En memory_limit tenía 24M y puse 64M
En max_post_size tenía un 80 y puse 150.

Sin embargo, al asignar los valores de las variables a los campos hidden y hacer submit con el segundo formulario, en lugar de recargar la página se me quedaba frito el apache.

Código:
<!-- FORMULARIO AÑADE ARTICULOS AL PEDIDO -->
<form style="margin: 0px;" name="addCartas" method="POST" action="">
// Añadir los values de estos campos oculto es lo que revienta el apache y ralentiza muchisimo las consultas
<input type="hidden" name="marca_hide" value="<?=$var_marca?>" />
<input type="hidden" name="categoria_hide" value="<?=$var_categoria?>" />
…
…
<input type="hidden" name="texto_hide" value="<?=$var_texto?>" />
Si comento estos 5 campos, la página funciona a las mil maravillas y realiza todas las consultas sin problemas. También añade artículos a la tabla a pulsar Añadir (Botón del segundo formulario).

No consigo entender qué hago mal. Por favor, si alguien no entiende algo del código que he puesto que me pregunte e intentaré aclararlo.

Un saludo.
  #6 (permalink)  
Antiguo 03/02/2011, 04:48
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

Has probado a poner esos 5 campos con datos simples? Es decir, por ejemplo que su valor sea 1,2,3,4 y 5. Quizá tengas alguna comilla sin escapar o algún caracter en la cadena por la que te esté dando el fallo.
En cualquier caso, es raro que el apache se quede frito, lo normal en un fallo de éste tipo que te comento es que muestre un error...
  #7 (permalink)  
Antiguo 03/02/2011, 07:29
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

Pues no he probado con números pero sí que he comprobado, con var_dumps, que las variables contienen el valor correcto. Es muy raro porque, si dejo el campo value de los cinco input hidden vacío, no me genera error alguno.

Tampoco me aparece un error específico en el navegador por el que buscar una solución.. simplemente... pierdo la conexión y me advierte de que el apache ha dejado de funcionar.

LLevo toda la mañana revisando el código y me he implementado un pequeño pseudocódigo para ver si alguien observa algo que yo no detecto:

Código:
Si  !Login à Login

Sino

   Include FORM_CONSULTA_FILTRO.PHP   
   Si Botón Filtrar Pulsado (Formulario 1)
          Asignar valores de los combos  a las variable
          SELECT MARCAS;
          SELECT CATEGORIAS;
          SELECT COLORES;
 
          Si Marca o Categorías Vacíos à Asignar Primer valor del combo
          GENERAR CONSULTA FILTRO
          Si combos no están vacíos, concatenar valores a la consulta

          Ejecutar Consulta y almacenar resultados en $resultadosArticulos

    Include FORM_EDIT_NAME_PEDIDO.PHP
                
    Si Botón Renombrar Pulsado (Formulario 2)
        Si $_POST[‘nombre’] existe y no está vacío
            Asignar el valor del textfield a una variable
            UPDATE NOMBRE;
         Sino
            Mensaje Campo Nombre Vacío
                
    Include FORM_EDIT_ARTICULOS_PEDIDO.PHP
 
    Si Botón Añadir o Botón Reserva Pulsado (Formulario 3)
        Asignar valores de los combos ocultos a las variables
            Si el Nombre del Pedido no está vacío
                Si Botón Añadir Pulsado
                       INSERT ARTICULO EN STOCK PRINCIPAL
                Si Botón Reserva Pulsado
                       INSERT ARTICULO EN RESERVA
            Sino
                Mensaje Campo Nombre Vacío
 

Comprobar si el Pedido tiene Articulos
SELECT NUMERO ARTICULOS PEDIDO;
Si tiene Articulos à SELECT ARTICULOS;
Sino à SELECT NOMBRE Y USUARIO;

Formulario Consulta Artículos

Imagen del Artículo;
Combo Marca;
Combo Color;
Combo Categoría;
TextField Texto;
Botón Filtrar

Nota: La Marca y la Categoría no pueden estar vacíos. Si no se ha seleccionado nada se asignará el primer valor del combo.

Formulario Edita Nombre

Campo Nombre
Botón Renombrar

Formulario Añade Artículos al Pedido

Campo oculto nombre
Campo oculto marca
Campo oculto color
Campo oculto categoría
Campo oculto texto

Si $resultadoArticulos no está vacío (Listado de Articulos ordenado por tipos)
                Foreach artículo
                               Si Tipo de Articulo Cambia
                                               Capa Tipo (color naranja)
                                                Tabla Cabecera (Marca, Nombre, Coste, CheckBox)
                               Fin Si
                               Tabla Marca, Nombre, Coste, CheckBox
                Fin Foreach

Botón Añadir
Botón Reserva

Capa Inferior (Mostrar el Contenido del Pedido que se está Editando)
Tabla Pedido Principal
      Recorrer artículos del Pedido
      Mostrar Artículo
Tabla Reserva
     Recorrer artículos de la Reserva
     Mostrar Artículos

FIN
En el Formulario_Añade_Artículos_Pedido, para cada artículo, creo una Capa Tipo y una Tabla Cabecera, si el Tipo varía. También creo una tabla por cada artículo cuando lo realmente eficiente sería crear una celda, dejando la tabla fuera del foreach. Pero no sé cómo extraer la tabla del foreach si necesito validar con cada iteración que el tipo es el mismo o ha cambiado. En el caso de que el tipo del artículo cambie, creo una cabecera de color naranja y otra cabecera con el nombre de cada campo.

si quito los 5 campos ocultos del Formulario_Añade_Articulos_Al_Pedido funciona muy bien. Añado Articulos seleccionados en los CheckBox, Filtro por otras marcas, etc.

Eso sí. Cada vez que Pulso Añadir, me refresca bien lo que he añadido pero sin mantener los valores de los combos.

Si Escribo estas líneas:

<!-- FORMULARIO AÑADE ARTICULOS AL PEDIDO -->

<form style="margin: 0px;" name="addArticulos" method="POST" action="">
<input type="hidden" name="name_hide" value="<?=$var_nombre?>" />
<input type="hidden" name="marca_hide" value="<?=$var_marca?>" />
<input type="hidden" name="color_hide" value="<?=$var_color?>" />
<input type="hidden" name="categoria_hide" value="<?=$var_categoria?>" />
<input type="hidden" name="texto_hide" value="<?=$var_texto?>" />



Entonces se ejecuta bien pero, en el momento en el que selecciono articulos y pulso añadir, en lugar de refrescar lanza un error de navegador y se queda sin conexión con el apache.

Pero te digo que es sólo al escribir las variables en los value de los hidden.

Es decir, así funciona bien:

<!-- FORMULARIO AÑADE ARTICULOS AL PEDIDO -->
<form style="margin: 0px;" name="addArticulos" method="POST" action="">
<input type="hidden" name="name_hide" value="<?=$var_nombre?>" />
<input type="hidden" name="marca_hide" value=”” />
<input type="hidden" name="color_hide" value="" />
<input type="hidden" name="categoria_hide" value="" />
<input type="hidden" name="texto_hide" value="" />
  #8 (permalink)  
Antiguo 03/02/2011, 07:38
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

Pues ahora mismo no veo el problema. Lo que yo haría en tu caso sería un debug... e ir filtrando para ver cual de los campos hidden es el que da error, o si son todos a la vez, o cómo. Pero uno a uno.
Si son todos, iría filtrando el contenido, eliminando caracteres especiales y cosas por el estilo.

Decía mi profesor de metodología que lo más difícil de la programación es hacer un debug rápido y eficaz. Y es cierto, pero una vez se aprende te ahorras muuuuucho tiempo para buscar errores...
  #9 (permalink)  
Antiguo 03/02/2011, 09:00
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

Estoy totalmente de acuerdo, Wesorz. Ya me gustaría a mí tener un debug bien programado para ir controlando todo lo que va pasando en cada proceso en lugar de ir insertando var_dumps como un desesperado por cada trozo.

He probado a introducir la variable var_edicion en el value del hidden, (sólo este campo), y no pierdo la conexión del apache. Es curioso porque ralentiza la consulta que me muestra los artículos. (Si antes tardaba medio segundo, ahora tarda dos segundos).... Pero no se queda frito.
Ahora bien, si añado otra variable a otro hidden empieza de nuevo el festival y me toca cerrar el navegador.

Me va a tocar revisarlo línea a línea cortando y pegando el código muy poco a poco.... En fin... Desde luego... es lo más duro.

Muchas gracias de todas formas.
Espero escribir aquí la causa muy pronto ;)
  #10 (permalink)  
Antiguo 03/02/2011, 10:02
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

He estado pensando y se me ha ocurrido una cosa. Es posible que no tenga nada que ver pero, como nunca antes lo había implementado, pues tengo mis dudas.

¿Es posible que, al utilizar tres formularios en una misma página, se utilice un exceso de memoria o recursos?.

Yo he implementado los 3 formularios cerrando bien las etiquetas.

<div> <form> </form> </div>
o bien
<form> <div> </div> </form>

Los tres formularios están implementados de forma separada y no hay ninguno incluído en otro.

¿Es posible que, utilizar tres formularios en una misma página sea una locura en
cuanto a los recursos consumidos por el php?

Lo pregunto sin tener mucha idea porque, repito, es la primera vez que hago algo así y me extraña mucho que el apache se tumbe sólo cuando añado datos al value de cada input hide de uno de los formularios.

En teoría esto no debería ser un problema, ¿no?

Además yo he comprobado por if, cuando se hace submit con uno y cuando con otro para especificar las acciones.

Porque eso es otra, la idea es que sólo se realiza un submit, no tres...

Igual con esto le doy alguna pista a alguien para que me pueda ayudar...
  #11 (permalink)  
Antiguo 03/02/2011, 10:36
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

Locuras más grandes he visto, como los carros de la compra donde cada producto es un formulario... xD

Una cosa que aún no me ha quedado clara, porque en un post anterior comentas otra cosa.... se peta el Apache o el navegador?

Sigo pensando que el kit sigue estando en los datos que metes en el hidden...
  #12 (permalink)  
Antiguo 03/02/2011, 11:01
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

Pues te explico,

cuando introduzco 2 o más variables al value de los campos, (una variable por value), y pulso añadir producto, sé que el producto se añade porque lo veo en la base de datos, pero el navegador no me recarga la página, como hace cuando no pongo esos valores, sino que me indica que ha habido un problema de conexión y muestra el típico mensaje de página no encontrada. En alguna ocasión he llegado a refrescar la página y, en otros casos, me ha especificado que el servicio apache se había parado.

En cuanto llegue a casa voy a probar a introducir un 1, 2, 3, 4 y 5 en los cinco campos ocultos. A ver si así funciona o también falla.

¿Es posible que las instrucciones de BEGIN COMMIT y ROLLBACK estén interfiriendo de alguna manera con estos campos ocultos?.

A mi juicio son cosas independientes pero... no sé...
De todas formas, probaré a introducir valores enteros y te comento el resultado.

Muchísmas gracias por la ayuda Wesorz!!
  #13 (permalink)  
Antiguo 04/02/2011, 02:07
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

No encuentro el fallo wesorz,

anoche dejé sólo dos campos hidden en el formulario y les asigné el valor 1 y 2.
Entonces seleccioné varios artículos y pulsé añadir. La página se recargó pero tardó unos segundos más que cuando tenía vacío el value de los campos hidden.

Si dejo 3 o más inputs con cualquier dato en el value, me ocurre lo que he comentado y el navegador no recarga la página.

No sé qué estoy haciendo mal. Ya no sé si es algo de mi código, de la configuración del php, de los forms, de los COMMIT y ROLLBACKS...

De momento lo voy a dejar sin paso de parámetros. Los combos no mantienen la información introducida y hay que volver a insertar los datos de consulta pero... es lo que hay... mejor eso que cerrar el navegador y volver a abrirlo. ;(
  #14 (permalink)  
Antiguo 04/02/2011, 03:04
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

Es que si es cosa del navegador posiblemente sea algún bucle del JS que esté bloqueándolo. Si el navegador va bien con el resto de páginas pero con esa no, es posible que sea cosa del Apache, pero tampoco es 100% real, y a que podría ser algún tipo de bucle "infinito" en el propio php (por poner un ejemplo).
  #15 (permalink)  
Antiguo 04/02/2011, 04:01
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

No puedo saber con certeza si es un bucle del php, o si es del javascript (aunque este último apenas lo utilizo).

El caso es que, sin esos 5 campos hide del formulario no se ralentiza ni genera error alguno. Incluso con uno funciona bin... Es cuando le asigno valores al value de dos o más campos cuando se ralentiza o cuelga.

Pero trato de entender por qué se ralentiza con dos campos, si la consulta es la misma!.

He probado a ir eliminando código para simplificar el debuger pero me está resultando complicado porque, para probar el caso exacto, (Filtrar, seleccionar articulos y añadir), necesito prácticamente el código que planteé al inicio de este Post.

En fin, lo seguiré estudiando este fin de semana... Nunca se debe perder la esperanza, ¿no? ;)
  #16 (permalink)  
Antiguo 04/02/2011, 04:27
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

Después de tantos post yo sigo sin tener claro si el problema es del navegador o del servidor web, y sería lo más importante y lo primero a detectar. Por ejemplo puedes viéndolo monitorizando los procesos y viendo el consumo de CPU. Si ves que el servicio de apache se dispara, ya sabes lo que es, y si por el contrario se dispara el del navegador, pues lo mismo...

Y la esperanza nunca se pierde. Si te sirve de consuelo, días me he tirado yo para resolver problemas que una vez localizados se solucionan en 2 minutos.
  #17 (permalink)  
Antiguo 09/02/2011, 02:05
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Respuesta: Error de memoria al pasar varios hidden en un form

Lo encontré!!

Encontré el error!!!
No podía entender por qué se bloqueaba el navegador cuando asignaba valores a los hidden y era porque no se creaba bien la consulta. Al parecer, cuando pulso añadir, cuando debe recargar la página manteniendo los valores en los combos, no genera bien la consulta de artículos, aunque los combos sí mantienen los valores previos.

Hice lo que me aconsejaste y pulsé Añadir con el administrador de tareas delante. Observé como la memoria del equipo se agotaba y, después de colocar un var_dump de la consulta en el lugar idóneo, observé que no se había generado bien ;)

El caso es que la consulta no generaba ningún error en el sql pero consumía toda la memoria del equipo y tumbaba el navegador. (Alguna vea llegó a tumbar también el apache y, por ello, también me despistó).

Ahora sólo tengo que analizar cómo formar la consulta de artículos tanto cuando hago submit desde el botón Filtrar como cuando hago submit desde el botón Añadir y comprobar que los parámetros ocultos y se están pasando bien.

Ahora que veo el problema, me siento más cerca de la solución ;)
  #18 (permalink)  
Antiguo 09/02/2011, 02:12
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: Error de memoria al pasar varios hidden en un form

Me alegro que hayas dado con ello :)
Ánimo que ya casi lo tienes!

Etiquetas: hidden, memoria, pasar, formulario
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 23:17.