PDA

Ver la Versión Completa : Como direccionar a una pagina en un periodo de tiempo


Shidalis
27-04-2006, 14:53:28
Hola a todos.
Mi duda ahora en como puedo hacer para direccionar a la pagina solicitante durante un periodo determinado.
Les comento un ejemplo de lo que quiero hacer tengo varias paginas que llaman a una sola pagina quiero que esta pagina redirecciones a cualquiera de las otras paginas que la solicito en un periodo de tiempo determinado.
Si pueden ayudarme les agradesco enormemente

chrids506
27-04-2006, 17:12:29
Este código es html, pero espero que te sirva.
Content = el numero de segundos a esperar antes de redireccionar.
Además muestra un bonito Cargando como gmail.

<html>
<head>
<title>Cargando...</title>
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://www.rinconcitodelphi.com/">
<style type="text/css">
<!--
.style1 {
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
</head>
<body>
<span class="style1">Cargando...
</span>
</body>
</html>

chrids506
27-04-2006, 17:29:22
¿No te funciona?

Shidalis
27-04-2006, 18:30:47
si me sirve el codigo muchas gracias, pero como hago para tomar la url anterior, es decir, la que invoco a esa pagina; y disculpa mi ignorancia

chrids506
27-04-2006, 18:44:43
¿No te funciona? Esto no te lo puse a tí, se lo puse a kayetano que puso esto:
Respuesta de..: kayetano
Título....:...: Como direccionar a una pagina en un periodo de tiempo
Foro..........: PHP

URL...........: http://www.clubdelphi.com/foros/showthread.php?t=31085&goto=newpost


=============== R E S P U E S T A ============================

Hola

Algo asin ??

...
<head>
<META HTTP-EQUIV="Refresh" CONTENT="3;URL=mipagina.html">
</head>
...
=============== F I N A L R E S P U E S T A ========== pero luego el mensaje desapareció.

Al punto:
Yo diría que con esto:
<META HTTP-EQUIV="Refresh" CONTENT="0; URL="history.go(-1)"> A ver si te sirve.

Editado, por que puse 1 en lugar de -1

Shidalis
27-04-2006, 19:20:02
disculpa la molestia pero coloque el codigo como me dijiste y se que queda como en un loop se redirige a la misma pagina a cada vez, que hago?

chrids506
27-04-2006, 19:44:36
Disculpa, pero no se me ocurre nada.

kayetano
27-04-2006, 20:18:41
Hola
Esto no te lo puse a tí, se lo puse a kayetano que puso esto:
Perdona, le estaba contestando a Shidalis, pero desde que he leido el post hasta que he contestado han pasado 14 minutos y cuando he visto el hilo ya habías contestado tu y he preferido borrar mi post.

<META HTTP-EQUIV="Refresh" CONTENT="0; URL="history.go(-1)">
nose hasta donde puede fucionar javascript dentro de un meta, como poco debería ser "javascript:history.back()" pero esto tampoco funciona. De todas formas esto no recarga la página anterior sino que carga la cache del navegador.

Si es un popup lo que se esta abriendo puedes utilizar el objeto "window.opener".

Otra opción es pasarlo como parametro, por ejemplo:

<a href="mipagina.html?reload=anterior.html">...</a>

con esto y con PHP o javascript puedes obtener el valor de la página anterior y recargarla.

Para realizar un proceso pasado un tiempo con javascript puedes utilizar la funcion "setTimeout", por ejemplo

settimeout( "document.location.href="+mipagina, 3000 );

chrids506
27-04-2006, 20:28:29
Perdona, le estaba contestando a Shidalis, pero desde que he leido el post hasta que he contestado han pasado 14 minutos y cuando he visto el hilo ya habías contestado tu y he preferido borrar mi post. ahh

nose hasta donde puede fucionar javascript dentro de un meta, como poco debería ser "javascript:history.back()" Lo intenté

De todas formas esto no recarga la página anterior sino que carga la cache del navegador. Totalmente de acuerdo.

Saludos, Chrids.

Shidalis
27-04-2006, 21:05:19
muchas gracias por sus comentarios pero si uso el settimeout() tambien deberia saber cual fue la url anterior osea la url que llamo a esa pagina que esta en ejecucion.
otra cosa consegui este codigo pero no se para que sirve si pueden ayudarme puede que este codigo me sirva para redireccionar la pagina:

<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />
<!-- end no cache headers -->
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

dec
27-04-2006, 21:52:26
Hola,

Para saber la página desde la que se llega a una cualquiera parece que puede utilizarse lo siguiente:


<?php

$ref = $_SERVER['HTTP_REFERER'];

echo "Llegaste desde: $ref";

?>

Sin embargo, no parece que ello deba utilizarse para según qué casos, como muestran algunos resultados de esta búsqueda en Google (http://www.google.es/search?hl=es&q=%24HTTP_REFERER&btnG=B%C3%BAsqueda+en+Google&meta=).

Respecto del código que muestras en tu último mensaje,... parece que lo que trata de conseguir por todos los medios posibles es que la página en cuestión no se almacene en el caché del navegador.

Podría utilizarse también la cabecera HTTP en PHP, tal que así:


<?php
header("Cache-Control: no-cache, must-revalidate");
?>

Sin embargo tendrías que hacer alguna que otra prueba, puesto que es posible que no obtuvieras los resultados esperados en ciertos navegadores... qué sé yo. Toca investigar. ;)

Shidalis
27-04-2006, 22:51:09
gracias por ayudarme ya encontr la solucion hice lo siguiente


<?php
$ref = $_SERVER['HTTP_REFERER'];
?>
<script LANGUAGE="JavaScript">
var pagina="<?php echo $ref; ?>"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()", 4000);
</script>

roman
27-04-2006, 23:10:51
Sin embargo, no parece que ello deba utilizarse para según qué casos

De hecho, el mismo manual de PHP advierte contra su uso:


The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.


// Saludos

kayetano
28-04-2006, 12:17:04
Hola

Cosas de la vida ni me habia percatado que estabamos en PHP pensaba que era un hila de HTML.
Shidalis no te compliques la vida:

<META HTTP-EQUIV="Refresh" CONTENT="3; URL="<?=$_SERVER['HTTP_REFERER']?>">

roman
28-04-2006, 17:16:40
Creo que no está de más enfatizar, con respecto al uso de HTTP_REFERER:

In short, it cannot really be trusted

// Saludos

kayetano
28-04-2006, 19:23:33
Hola

Otra opcion
archivo a.php

...
<a href="b.php?redir=<?=urlencode( basename( $_SERVER['PHP_SELF'] ) ) ?>">mi pagina</a>
...



archivo b.php

...
<head>
<META HTTP-EQUIV="Refresh" CONTENT="3; URL="<?=urldecode( $_GET['redir'] )?>">
</head
...