Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/06/2003, 09:14
Avatar de Bravenap
Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
Vamos a ver.

En la primera página (HTML) tienes un formulario que envía una información para ser procesada por una tercera página (ASP). Pero quieres que pasa previamente por una segunda (que ahora ya es ASP) informando al ususario de la espera y redireccionándolo finalmente a la tercera.

Pues bien, la segunda página deberá recoger el valor que se ha introducido en el formulario (recuerda que tienes que cambiar en el form aviso.html por aviso.asp) para dárselo a la variable cedula.
Si no recoges ese valor, <%=cedula%> estará vacío. Por tanto debes recoger primero el valor:

cedula=Request.Form("cedula")

Una vez hecho esto ya tienes la variable cedula con un valor. Ahora hay que pasar ese valor a la tercera página para que lo procese. Has decidido pasarlo en la url, entonces

<meta http-equiv="refresh" content="5;URL=resultadonotas4.asp?cedula<%=cedula %>">
Tal y como lo tenías, te daba error porque además no cerrabas la etiqueta de ASP (<%...%>).

Llegamos a la tercera página ¿como recoges la variable cedula y su valor? Ya no lo puedes hacer con Request.Form puesto que la página desde la que has llegado no contiene un form. De modo que cambia lo que tengas como Request.Form("cedula") por Request.Querystring("cedula") y guárdalo en una nueva variable. Si quieres llámala otra vez cedula. Ahora utiliza esta variable para tu consulta en bases de datos o cualquier otra cosa que necesites.

Pues de momento, y por lo que has puesto esto es todo para solucionar los problemas que tenías.

De todas formas te aclaro algunas cosas por si no las tienes muy claras.

ASP es un lenguaje que se ejecuta en el servidor, es decir, cuando un usuario hace una petición al servidor de una página ASP, antes de salir comprueba todo el código e interpreta lo que esté en la etiqueta <%%> y devuelve una página con los resultados de esa ejecución en simple HTML (o JS, CSS, ...). Cuando el servidor recibe una petición de un archivo .htm o .html lo envía directamente, por lo que si en él hay instrucciones ASP no serán comprobadas.

Tú pasas la información recogida en el formulario a un archivo .html. Este tipo de archivos, en principio no son dinámicos, así que no podrán cambiar a petición del usuario. Es por eso por lo que debes recoger los datos con ASP.

Finalmente. ¿Realmente necesitas ese paso intermedio? Si la consulta a la base de datos no es muy grande y no se tiene que ejecutar mucho código, es probable que tardes más en decirle al usuario que espere que lo que realmente vas a tardar en mostrar los resultados. Para este tipo de cosas suele haber otra cosa que se llama Buffer y Flush. Sirve para ir enviando un poco de información, por ejemplo, un "Espere" hasta que se termine de ejecutar e interpretar todo el código y se envíen todos los resultados completos.

Bueno, espero que ta hayan quedado las cosas algo más claras y haberte podido ayudar en algo.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!