From: Andrés
Sáyago (
asath(EN)colombialinux.org)
Date: Sun Aug 08 2004 - 22:33:53 CEST
Puffff, este mancito anda como Davivienda... en el lugar equivocado!
Fabio Hernando Arias Vera escribió:
> Facil, lo pueden hacer de mejor manera
mediante Java/JSP y utilizando
> Threads
>
>
>
>
>
>
> Fabio Arias
> "El Saber y la Información te
Liberará"
>
>> From: Andrés Sáyago
<
asath(EN)colombialinux.org> >To: "Manuel Oterino
>> (sorase.biz)" <
manuel.oterino(EN)sorase.biz> >CC:
php-es(EN)lists.php.net
>> >Subject: Re: [PHP-ES]
Página intermedia "Cargando..." >Date: Mon, 09
>> Aug 2004 14:46:16 -0500 > >Si
el script de PHP, por ejemplo, publica
>> un listado con una gran >canidad
de usuarios, puede estar llamando a
>> la "paginademora.php" y >quedarse
en blanco mientras espera un
>> "</table>" y termina de
>mostrarse toda la page. > >Esto haría que
de
>> nuevo la page quedara en blanco sin
un mensaje al >usuario que le diga
>> que debe esperar... > >A eso
me refería. > > > >Manuel Oterino
>> (sorase.biz) escribió:
>>Si no entiendo mal el planteamiento inicial,
>> es que quiere que el >>usuario
>>vea una pantalla indicandole que
>> algun proceso demorado está
>>tardando y que >>espere un poquito. Lo
>> que proponia es lo siguiente:
>> >>--paginaformulario.php >>Esta
>> permite introducir datos en un
formulario al usuario, >>invocando
>> >>posteriormente a
paginademora.php con los datos del formulario.
>> >>Antes de >>invocar al
paginademora.php el navegador llamará a la
>> funcion >>javascript
>>muestraDivEspere, que oculta capa pagina y
>> muestra la capa espere
>>(siempre >>suponiendo que el usuario no
tenga
>> deshabilitado el javascript en
>>su >>navegador). Esto permite gran
>> agilidad, pues lo hace localmente el
>>PC y no >>ha de invocar al
>> servidor y esperar una respuesta)
>>--paginaformulario.php >><html>
>> >><head> >>...
>><script type="text/javascript">
>>function
>> muestraDivEspere() >>{
>>
>>
document.getElementById('espere').style.display = 'block';
>>
>>
document.getElementById('pagina').style.display = 'none';
>>}
>> >></script>
>></head> >><body> >> <div
id="espere"
>> style="display:none"> >>
<img...>Espere un momento por favor... >>
>> </div> >> <div
id="pagina" onsubmit="muestraDivEspere()"> >>
<form
>> action="paginademora.php">
>> <input... >> <select ... >>
</form> >>
>> </div> >></body>
>></html> >> >>--paginademora.php
>><?php >> codigo
>> que realize cualquier tarea y
produzaca una demora >>?>
>> >>--paginademora.php >>
>>Espero ahora haberme explicado. >>Salu2.
>>
>> >>----- Original Message -----
From: "Andrés Sáyago"
>> >><
asath(EN)colombialinux.org> >>To: "Manuel
Oterino"
>> <
manuel.oterino(EN)sorase.biz>; >><
php-es(EN)lists.php.net> >>Sent: Monday,
>> August 09, 2004 6:09 PM
>>Subject: Re: [PHP-ES] Página intermedia
>> "Cargando..." >> >>
>> >>>El que tenía la duda preguntó
que cómo hacía
>> para mostrar una
>>>página que >>>tenía scripts de
PHP demorados
>> (llamemos a esa page
>>>"paginademorada.php"), página que se
llamaba
>> luego de llenar un
>>>formulario (llamemos a esta otra
>> "paginaformulario.php").
>>> >>>Mi cuestionamiento a su respuesta
es
>> que no es posible su solución
>>>para >>>cuando "paginaformulario.php"
>> llame a "paginademorada.php" (donde
>>>está >>>el DIV y todo lo que
>> propuse) y esta página
necesite parámetros >>>que >>>vienen
del
>> formulario que está en
"paginaformulario.php". >>> >>>Si lo que
se
>> quisiera es mostrar una
página de formulario con lo >>>que
>>>publican
>> los scripts demorados en una sola
page, pues no tiene >>>sentido >>>ni
>> lo uno ni lo otro, pues se vuelve a
lo mismo del comienzo... el
>> >>>script se demora y se
quiere un mensaje de "Aguántese un
>> >>>poquito..." >>>
>>>Bye.! >>> >>> >>>
>>>Manuel Oterino escribió:
>> >>> >>>>>Y
si la página que llama el formulario recibe
parámetros del
>> >>>>>formulario
>>>> >>>>bien, los puede seguir recibiendo
>>>> >>>>
>> >>>>
>>>>>y la información que publica es
dependiente de los campos
>> del
>>>>>formulario??? >>>>
>>>>Que los siga publicando >>>>
>>>>No
>> veo el problema o no he entendido lo
que quieres decir. >>>>
>> >>>>Salu2.
>>>> >>>> >>>>
>>>>>Manuel Oterino escribió:
>>>>> >>>>>
>> >>>>>>Buenas
tardes. >>>>>> >>>>>>A mi se me
ocurre algo parecido pero
>> a la inversa. Me explico.
>>>>>>La página del formulario
contendrá la
>> capa "divcargando"
>>>>>>oculta, y el >>>>>>resto
de la página en la
>> capa "divpagina" visible. Al hacer
>>>>>>click en el
>>>>>>botón o
>> enlace ocultar la capa "divpagina" y
mostar >>>>>>"divcargando".
>> >>>>>>El efecto es
mejor ya que te lo enseña inmediatemente, mientras
>> >>>>>
>>resuelve >> >>>>>>la
petición de la siguiente página. Cuando
>> este finalize tienes
>>>>>>la >>>>>>página
>>>>>>cargada. >>>>>>
>> >>>>>>Salu2
>>>>>> >>>>>>
>>>>>> >>>>>>
>>>>>>>Saludos!
>>>>>>>
>> >>>>>>>Se me
ocurre algo así... poner este código dentro de la
página
>> >>>>>>>que
>>>>>> >>llama >>
>>>>>>>el formulario:
>>>>>>>
>>>>>>><
>> body ...
onload="javascript:alcargar()"> >>>>>>>.
>>>>>>>.
>>>>>>>.
>> >>>>>>><?php
>>>>>>>echo '<div
id="divcargando">Cargando...</div>';
>> >>>>>>>echo
'<div id="divmostrar" style="display:none">';
>>>>>>>.
>> >>>>>>>.
>>>>>>>// Procesos demorados en PHP. Se
muestra el código
>> HTML del
>>>>>>>resultado
>>>>>>>sólo cuando se termine de cargar
la
>> página...
>>>>>>>. >>>>>>>.
>>>>>>>echo '</div>';
>>>>>>>?>
>>>>>>><
>> /body >
>>>>>>> >>>>>>><script
languaje="javascript">
>>>>>>>function
>> alcargar()
>>>>>>>{ >>>>>>>//
Ocultar el "Cargando..." >>>>>>>var
>> ocultar =
document.getElementById('divcargando');
>>
>>>>>>>ocultar.style.display = "none";
>>>>>>>// Mostrar lo que estaba
>> demorado
>>>>>>>var mostrar =
document.getElementById('divmostrar');
>>
>>>>>>>mostrar.style.display = "block";
>>>>>>>}
>>>>>>></script>
>> >>>>>>>
>>>>>>>Dentro de la etiqueta DIV puede poner
un Flash, un IMG
>> animado
>>>>>>>o una
>>>>>>>marquezina de FrontPage (jeje) que
muestre
>> que la página se
>>>>>>>está
>>>>>>>cargando. >>>>>>>
>>>>>>>Qué hace
>> esto? Al terminar de cargar la
página se llama a la
>>>>>>>función
>>
>>>>>>>alcargar(), la cual oculta el DIV con
el mensaje (animación,
>> >>>>>>>flash,
>>>>>>>etc.) "Cargando..." y muestra el DIV
con el
>> resultado de la
>>>>>>>page. >>>>>>>
>>>>>>>Eso se me ocurre.
>>>>>>>
>> >>>>>>>Bye!
>>>>>>> >>>>>>>
>>>>>>>-- >>>>>>>
>>>>>>>J. Andrés Sáyago
>> P.
>>>>>>>Webmaster - COLCIENCIAS
>>>>>>>Correo-e:
>>
jasayag(EN)colciencias.gov.co
>>>>>>>Teléfono: (57) (1) 6258480 Ext.
2331
>>
>>>>>>>Bogotá D.C. - Colombia
>>>>>>> >>>>>>>
>>>>>>>Luis Sancho
>> escribió:
>>>>>>> >>>>>>>
>>>>>>> >>>>>>>>Hola.
>>>>>>>>
>>
>>>>>>>>Pretendo crear una página
intermedia que muestre
>>
>>>>>>>>"Cargando..." para
>>>>>>>>aquellos scripts php que lleven
un
>> tiempo elevado en
>>>>>>>>completarse. He
>>>>>>>>pensado una posible
>> solución, por ejemplo:
>>>>>>>> >>>>>>>>-
El usuario rellena un
>> formulario.
>>>>>>>>- Los datos pasan a una
página que pone
>> "Cargando..." y pasa
>>>>>>>>a su vez
>>>>>>>>los datos a otra
página.
>> >>>>>>>>- El
servidor genera esta última página mientras la
anterior
>>
>>>>>>>>está
>>>>>>>>mostrada, y al terminar muestra los
datos al
>> usuario.
>>>>>>>>
>>>>>>>>Parece bastante rudimentario, y
estoy seguro
>> de que hay
>>>>>>>>maneras más
>>>>>>>>elegantes y eficientes de
>> hacerlo. ¿Alguien tiene ideas
para >>>>>>> >>conseguir >>
>>>>>>>>este
>> objetivo? Lo agradezco mucho.
>>>>>>>> >>>>>>>>Un
saludo a tod(EN)s.
>> >>>>>>>>
>>>>>>>>Luis
>>>>>>>> >>>>>>>
>>>>>>>-- >>>>>>>PHP
Spanish
>> Localization Talk Mailing List
>>>>>>>(http://www.php.net/)
>>>>>>>To
>> unsubscribe, visit: http://www.php.net/unsub.php
>>>>>>> >>>>>>>
>> >>>>>>
>>>>>> >>>>> >>> >>
>> >> >> > >-- >PHP Spanish
Localization
>> Talk Mailing List (http://www.php.net/) >To unsubscribe,
visit:
>> http://www.php.net/unsub.php
>
>
>
>
_________________________________________________________________
> MSN Amor: busca tu ½ naranja
http://latam.msn.com/amor/
>
>
>
>
-- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
This archive was generated by hypermail 2.1.7 : Tue Sep 21 2004 - 21:34:43 CEST