PDA

Ver la Versión Completa : Redireccionar pagina automaticamente


Coco_jac
04-09-2007, 22:34:02
Hola amigos, tengo un problema y es que me interesa poder cargar una pagina despues de un proceso dado y que se nuestre un determinado mensaje por decir "Su clave fue actualizada correctamnente" y a los 30 segundos o menos se redireccione a otra pagina.

Muchas gracias espero su ayuda.

dec
04-09-2007, 23:20:25
Hola,

Puedes hacer uso de JavaScript. Es decir, desde PHP imprimes el código JavaScript necesario para redireccionar a otro lugar pasado cierto tiempo. Fíjate en este par de funciones... están "copiadas, pegadas y retocadas" sin probarlas siquiera, pero, seguro que entiendes "el conceto".


<?php

function ImprimirJs($codigo){
$codigo = trim($codigo);
echo'
<script type="text/javascript">
//<![CDATA[
<!--
'.$codigo.'
//-->
//]]>
</script>';
return true;
}

function Redirect($url,$msegs=2000){
ImprimirJs('
var url="'.$url.'";
function r(){location.href=url;}
setTimeout ("r()", '.$msegs.');
');
return true;
}

// Redireccionamos al ClubDelphi en 4 segundos
Redirect('http://www.clubdelphi.com/', 4000);

?>

semptrion
04-09-2007, 23:54:38
O en vez de hacer pendejadas con javascript, utilizas el protocolo http/1.1

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3

que en tu página web sería colocar (dentro el head)

<META HTTP-EQUIV=REFRESH CONTENT="18; URL=http://www.example.org/bar">


para que luego de 18 segundos (el cliente automáticamente) redireccione a
http://www.example.org/bar

Saludos.

dec
05-09-2007, 08:18:28
Hola,

La solución sirve perfectamente semptrion, aunque cabría añadir que el código de JavaScript podría usarse no sólo en el "header" del documento HTML, sino en cualquier otro lugar. Es decir, aunque acaso funcionase también (no me extrañaría en Internet Explorer), no podría uno imprimir la meta etiqueta que mencionas en cualquier lugar.