Mostrar mensaje y redireccionar

41771 visitas 10 respuestas

Hola, trato de hacer los siguiente:

quiero que se me muestre el mensaje en la pantalla durante un cierto tiempo y luego redireccionar.

He probado con sleep(5) pero el mensaje no sellega a mostrar en la pantalla sino que la ejecucion se detiene 5 segundo y redirecciona

alguna idea???

if($result)
{
     echo "<div class=\"info\">Ha abandonado la sesi&oacute;n</div>";
     sleep(5)
     header ("Location: http://localhost/index.php");
}

por desde España

Registrado desde: 24 May 05

Respuestas

2 0

Ese codigo estaria mal, no puedes enviar un echo y despues un header, ke se escojona la cosa y no funciona. Prueba a poner primero el siguiente header y despues el resto...

<?php
 header("Refresh: X; URL=http://ohycu.net");
?>

... y donde pone "X" pones el numero de segundos que quieres que se espere.

por desde España

Registrado desde: 11 Jul 03
0 0

Resulta que si tu pones la función ob_start() antes de nada y la función ob_end_flush() al final del codigopuedes poner todos los echo que quieras antes de un header.

por desde España

Registrado desde: 24 May 05
2 1

no puedes enviar cabeceras header después de mandar html. si quieres redireccionar después de un tiempo usa javascript.

 setTimeout("location.href=\'url\'",5000)

por desde España

Registrado desde: 09 Feb 04
0 0

gracias por vuestros comentarios . Os cuento:

La opcion de javascript no me interesa pq kiero una aplicacion libre de javascript. He probado el header pero no me va.

Alguna idea mas?????

por desde España

Registrado desde: 24 May 05
2 0

Mete un meta tag en el header que redireccione a los 5 segundos :S algo como:

<meta http-equiv="refresh" content="5; url=http://miurl.com/" />

Y listo

por desde España

Registrado desde: 15 Apr 03
0 0

Tengo un problema similar el mio es un envió de email. Mi formulario de email al final me manda un mensaje y lo que quiero es que me lo redireccione. Este es el código:

   echo "El mensaje ha sido enviado!<BR>";
   echo "Gracias por su mensage. Nos comunicaremos lo mas pronto posible.<BR>";
   echo "Regresar a <A HREF="javascript:history.back()">Contacto</A>.<BR>";
   echo "<A HREF="http://www.ejemplo.com">INICIO</A>.<BR>";

Como verán le he puesto un link para regresar y otro para ir a inicio pero como les avía comentado quiero una redireccion. Espero y me puedan ayudar, saludos.

Una cosa mas este mensaje/codigo es resultado de cuando valido los campos obligatorios.

por desde México

Registrado desde: 26 May 06
0 0

Comentario a parte: intenten usar algo de templates para no tener tanto echo y tanto html metido en el PHP...

por desde Argentina

Registrado desde: 05 Jul 02
0 0

me sirvio el

<meta http-equiv="refresh" content="5; url=http://miurl.com/" />

Muy bueno Grax

por desde México

Registrado desde: 17 Jul 07
0 0

gracias por vuestros comentarios .

Os cuento:

La opcion de javascript no me interesa pq kiero una aplicacion libre de javascript. He probado el header pero no me va.

Alguna idea mas?????

bueno yo hice lo siguiente:

coloque dentro de redireccion.html :

<head>
 <meta http-equiv="Refresh" content="3 ; URL=redir.php">
 </head>
 <body>
    ... el mensaje que quieras...
 </body>

y dentro del redir.php :

<?php
  $pagina = "http://www.tupagina.com";
  Header("Location: $pagina"); 
 ?>

por desde Perú

Registrado desde: 04 Jun 08
0 0

trata con lo siguiente, a mi me funciono

 print "<script>alert('$mensaje')</script>";
 print("<script>window.location.replace('pagina donde redireccionar');</script>"); 

debes crear una variable $mensaje, al interior de tu archivo php, lo que hace es llamar a un mensaje y luego de presionar aceptar se ejecutala redireccion.

esto debes agregarlo luego de finalizar las instrucciones al interior de tu php.

Espero que te siurva, nos vemos.

por desde Chile

Registrado desde: 19 Jan 10