En php, ¿Cómo hacer dos redireccionoamientos con unos segundos de diferencia?

La idea es, si se cumple todo el código de una función al enviar un formulario, enviar un redireccionamiento para que se muestre un mensaje y pasados unos segundos volver al formulario inicial.

Yo usaba el header refresh, pero ahora no me funciona, he probado a hacer algo así

Después del código vamos a la página redireccionamiento.php

function insertaRegistros(){//CODIGO INSERCION Y VALIDACIONESheader("Location: url=redireccionamiento.php");}

La pagina de redireccionamiento.php tiene esto, que no es otra cosa que esperar 5 segundos con el sleep y luego redireccionar de nuevo a la pagina principal.

REDIRECCIONAMIENTO.PHPsleep(5);header("Location: url=formularioInsercion.php");

Tampoco me funciona, he probado con archivos meta refresh al principio de la pagina pero no funciona, mas de un redireccionamiento parece imposible.

Estoy usando un sistema mvc, por lo que quizás hay algún tema con las rutas, no obstante me gustaría saber si existe algún modo de mostrar un mensaje unos segundos y luego volver a la página principal y que tenga un porcentaje alto de éxito independientemente de las demás condiciones

He probado en distintos navegadores y nada, el que siempre me da problemas con los redireccionamientos incluso en provectos sencillos es opera, pero con firefox que se suele tragar casi cualquier cosa no puede tampoco con dos redireccionamientos

Respuesta
3

El problema que intentas resolver se puede resolver imprimiendo código javascript de la siguiente forma una vez enviado el código tienes que imprimir esto:

echo '<script>
setTimeout(function(){ 
window.location="formularioInsercion.php"
}, 3000);
</script>';

Este código permite re-dirección a una pagina en 3000 mili segundos, por que tu tendrías que cambiar a un numero prudente de envió, si tienes más dudas con mucho gusto puedo ayudarte. 

Saludos y gracias por visitar: http://develoteca.com  y suscribirte a: https://www.youtube.com/user/dimit28 

1 respuesta más de otro experto

Respuesta
2

El redireccionamiento se puede hacer de varias maneras.

Más que usar javascript usa html simple

Ejemplo:

Echo "<meta http-equiv='refresh' content='0;pagina' />";

donde en "content" primero se especifica el tiempo (en este caso 0 significa al instante o 5 serán 5 segundos) separado de ";" y la dirección. Si simplemente dejas el tiempo, refrescara a la misma página.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas