Redireccionamiento de página después de cierto tiempo PHP
94
Existe una determinada función PHP para redirigir después de un tiempo. Lo vi en alguna parte pero no recuerdo. Es como la redirección de Gmail después de iniciar sesión. Por favor, ¿alguien podría recordármelo?
esta es la forma de configuración de php headerque lo redireccionará wherever.phpen 5 segundos
Recuerde que se debe llamar a header () antes de enviar cualquier salida real, ya sea mediante etiquetas HTML normales, líneas en blanco en un archivo o desde PHP. Es un error muy común leer código con funciones include, o require, u otra función de acceso a archivos, y tener espacios o líneas vacías que se generan antes de que se llame a header (). El mismo problema existe cuando se usa un solo archivo PHP / HTML. (fuente php.net )
interesante, nunca había visto este método antes ... pero ¿no va a mostrar una página en blanco o simplemente inactivo sin ningún mensaje hasta que se acabe el tiempo?
Ibu
va a mostrar la página ... todo lo que hace es configurar el encabezado que le dirá al navegador que actualice la página en 5 segundos, si realmente desea mostrar la página en blanco, simplemente usedie();
Teneff
2
Lo malo de esto es: este encabezado no está en el estándar HTTP, los clientes pueden ignorarlo.
Sven
:) ¡Buena idea! ¿Y si desea enviar (mantener) algunas variables y utilizarlas en la página recargada?
Mugur Ungureanu
Es posible que hayan pasado mil millones de años desde esta publicación, pero ¿cómo se publica un mensaje mientras se redirecciona como tal vez "Redireccionando la página, por favor espere"?
CAO
25
Puede usar javascript para redirigir después de un tiempo
setTimeout(function(){
window.location.href='http://www.google.com';// the redirect goes here},5000);// 5 seconds
@Jami es verdad, por eso dije que el OP puede usar javascript en su lugar.
Ibu
@BenjaminIntal Esto también funciona como una gran alternativa si el navegador ignora una redirección en el encabezado. Tendría que usar un navegador que no acepte el encabezado Y tener Javascript deshabilitado para no recibir la redirección.
de hecho, puede usar este código como dijo teneff, pero no tiene que colocar necesariamente el encabezado antes de cualquier salida enviada (esto generaría un "no se puede reubicar el encabezado ...: error 3").
Para resolver esto, use la función php ob_start();antes de que se publique cualquier html.
Para terminar el ob, simplemente coloque ob_end_flush();después de que no tenga ninguna salida html.
Usar dormir no es el enfoque convencional, como se dijo anteriormente, se debe usar la función de encabezado.
Maksim
¿El sueño no solo retrasa la conexión?
FluorescentGreen5
2
La actualización de PHP después de 5 segundos no funcionó para mí al abrir un diálogo Guardar como para guardar un archivo: (encabezado ('Tipo de contenido: texto / plano'); encabezado ("Contenido-Disposición: archivo adjunto; nombre de archivo = $ nombre de archivo > ");)
Una vez que se hizo clic en el enlace Guardar como y se guardó el archivo, la actualización programada se detuvo en la página de llamada.
Sin embargo, muchas gracias, la solución javascript de ibu siguió activando y actualizando mi página web, que es lo que necesitaba para mi aplicación específica. Así que gracias ibu por publicar la solución javascript al problema php aquí.
Puede usar javascript para redirigir después de un tiempo
Refresh
encabezado no es estándar. Nunca usaría cosas que no estén cubiertas con RFCRespuestas:
esta es la forma de configuración de php
header
que lo redireccionaráwherever.php
en 5 segundosfuente
die();
Puede usar javascript para redirigir después de un tiempo
fuente
Puedes probar esto:
Donde 10 es en segundos.
fuente
querría usar php para escribir una etiqueta meta.
No se recomienda pero es posible. El 5 en este ejemplo es el número de segundos antes de que se actualice.
fuente
de hecho, puede usar este código como dijo teneff, pero no tiene que colocar necesariamente el encabezado antes de cualquier salida enviada (esto generaría un "no se puede reubicar el encabezado ...: error 3").
Para resolver esto, use la función php
ob_start();
antes de que se publique cualquier html.Para terminar el ob, simplemente coloque
ob_end_flush();
después de que no tenga ninguna salida html.¡salud!
fuente
Si está redirigiendo con PHP, entonces simplemente usaría el comando sleep () para dormir durante tantos segundos antes de redirigir.
Pero creo que a lo que te refieres es a la metaetiqueta de actualización:
http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm
fuente
La actualización de PHP después de 5 segundos no funcionó para mí al abrir un diálogo Guardar como para guardar un archivo: (encabezado ('Tipo de contenido: texto / plano'); encabezado ("Contenido-Disposición: archivo adjunto; nombre de archivo = $ nombre de archivo > ");)
Una vez que se hizo clic en el enlace Guardar como y se guardó el archivo, la actualización programada se detuvo en la página de llamada.
Sin embargo, muchas gracias, la solución javascript de ibu siguió activando y actualizando mi página web, que es lo que necesitaba para mi aplicación específica. Así que gracias ibu por publicar la solución javascript al problema php aquí.
Puede usar javascript para redirigir después de un tiempo
fuente
Puede utilizar este código JavaScript para redireccionar después de un tiempo específico. Espero que funcione.
fuente