Foros del Web » Programando para Internet » PHP »

Redireccionar tras cargar pagina.

Estas en el tema de Redireccionar tras cargar pagina. en el foro de PHP en Foros del Web. Hola, necesitaría redireccionar tras realizar las acciones de la pagina. Pero con header no puedo puesto que la redirección tengo que ponerla al final para ...
  #1 (permalink)  
Antiguo 24/09/2009, 16:50
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 12 años, 9 meses
Puntos: 0
Redireccionar tras cargar pagina.

Hola, necesitaría redireccionar tras realizar las acciones de la pagina.
Pero con header no puedo puesto que la redirección tengo que ponerla al final para que pueda cargarla y con tiempo tampoco puedo hacerlo porque no está definido el tiempo que puede tardar en cargar, así que no encuentro ninguna solución…

¿Alguna sugerencia que pueda ayudar?

Sería algo así como.
echo "contenido";
header("location: Pagina.php");
  #2 (permalink)  
Antiguo 24/09/2009, 17:01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Redireccionar tras cargar pagina.

Hola chechu_

el header no funciona si ese script ya ha mostrado algo por pantalla (es decir, ya se ha enviado el header al navegador).

Para solucionarlo, lo que yo suelo hacer es, al terminar la ejecución del script php, añadir el javascript para la redirección:

Código HTML:
/* Fin del código php */ ?>

<script type="text/javascript">
    document.location = "pagina.php";
</script> 
No se si hay una solución más adecuada, pero esta funciona.
  #3 (permalink)  
Antiguo 24/09/2009, 17:02
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 4 meses
Puntos: 175
Respuesta: Redireccionar tras cargar pagina.

a ver.. tira un ejemplo mas especifico, lo de redireccionar se entiende, pero eso de las acciones.. un poco mas especifico
  #4 (permalink)  
Antiguo 24/09/2009, 17:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 11 años, 4 meses
Puntos: 12
Respuesta: Redireccionar tras cargar pagina.

No entiendo bién tu problema pero vé esto; qui´za es lo que estás buscando:

Código HTML:
<html>
<head>
<title>Descarga</title>
<META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://www.google.com">
</head>
<body>
Enseguida comenzará la carga. Si no empieza, pulsa <a href='http://www.google.com'>aquí</a>
</body>
</html> 
Saludos
  #5 (permalink)  
Antiguo 24/09/2009, 17:36
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Redireccionar tras cargar pagina.

Muchas gracias por las respuestas, pero las he probado anteriormente y no consigo que funcione ninguna.

La idea en Javascript no espera a que termine el script en php aunque lo ponga al final y también he probado a poner el META, pero tampoco espera, lo que quiero que cargue antes de redireccionar es un while que no es pequeño, por lo que tarda un poco y antes de terminar la ejecución han reaccionado tanto el meta como el javascript.
Aunque estoy pensando que el while tiene varios iframe, y podría ser que no espere a que terminen de cargar las paginas.

Sería algo así como esto.
while($i != 'ejemplo'){
echo"<iframe></iframe>";
$i++;
}
  #6 (permalink)  
Antiguo 24/09/2009, 17:48
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Redireccionar tras cargar pagina.

El código php se ejectuta en el servidor, y solo cuando termina su ejecución, es enviado al cliente (el navegador) que es el que ejecuta el javascript.

Lo que quiero decir es que el código que te indiqué antes se ejecuta al terminar el while. Otro tema es el de los iframes.

El php se limita a escribir el codigo html que le has puesto en el echo (que por otra parte no me gusta este método, es preferible cerrar el php, escribir el html y volver a abrir el php:

Código HTML:
?> <iframe></iframe> <?php
Después de esto se ejecuta el código javascript. Aunque al navegador no le haya dado tiempo a cargar el contenido de los iframes, el script php ya ha terminado.
  #7 (permalink)  
Antiguo 24/09/2009, 17:55
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 4 meses
Puntos: 175
Respuesta: Redireccionar tras cargar pagina.

Creo que debes estimar que tiempo aproximadamente tardaria en cargar toda tu pagina.. luego emplear la funcion de Javascript relacionada con setTimeout(), incluso la window.location o document.location

esta pagina espero te ayude

Aunque si explicas un poco mas el objetivo y el porque necesitas redireccionar tras un tiempo, sera mas facil ayudarte

lo del meta Refresh, tambien es programables, es decir,
<META HTTP-EQUIV="Refresh" CONTENT="3;URL=http://www.tuweb.com">

donde el 3 indica el numero de segundos que tardaria en redireccionar, le puedes poner 15, y tardaria 15 segundos en ir a la direccion

no se si funcionara, pero, por ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<script type="text/javascript">
function redir()
{
setTimeout(document.location.href='http://www.google.es',150000)
}

</script>
<body onload="redir();">

</body>
</html>


sigue comentandonos, asi aprendemos contigo

Última edición por loncho_rojas; 24/09/2009 a las 18:05
  #8 (permalink)  
Antiguo 24/09/2009, 17:59
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 11 años, 2 meses
Puntos: 21
Respuesta: Redireccionar tras cargar pagina.

Te facilito una funcion...talvez te sirva.

Código PHP:

<?php
function actualizar($tiempo,$pagina) {?>

<script language="JavaScript" type="text/javascript">

var pagina="<?php echo $pagina ?>"
function redireccionar() 
{
location.href=pagina

setTimeout ("redireccionar()", <?php echo $tiempo?>);

</script>
  #9 (permalink)  
Antiguo 24/09/2009, 18:08
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Redireccionar tras cargar pagina.

El objetivo es obtener contenidos de una página dinámica, con lo que no siempre tiene los mismos contenidos y por ello no sabría qué tiempo estipularle, aunque por lo que veo no hay mas ideas, la verdad es que ya había barajado esas formas de hacerlo y por eso escribí, por si se os podía ocurrir alguna otra forma pero veo que no hay más remedio.

Siendo así tendré que hacerlo por tiempo…

Muuuuchisimas gracias a todos por todo.
  #10 (permalink)  
Antiguo 24/09/2009, 18:21
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 4 meses
Puntos: 175
Respuesta: Redireccionar tras cargar pagina.

Cuando dices que ya no hay ideas, me siento un poco ofendido, pues la verdad nunca explicaste que querias hacer, pues solo tu sabias que hacer, y nos tomamos un tiempito para responder, y lo que te indicamos era una buena opción, segun lo que explicaste, ahora que dices que lo que buscas es que cada tanto tu sitio cambie de contenido, o ciertos frames pasen noticias cada tanto, es mucho mas explicito--

En fin... nadie adivina los contenidos de tus pensamientos.

Prueba con esto
  #11 (permalink)  
Antiguo 24/09/2009, 19:16
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Redireccionar tras cargar pagina.

Lamento mucho haber hecho que te sientas ofendido, ni mucho menos es mi intención y como dices, creo que no me he explicado correctamente o al menos lo suficiente pero creo que aun no lo he conseguido, los iframe no son para mostrar noticias, si no para coger contenido de la web que muestran y la idea no es que cambie de contenido del sitio si no enviar contenido a la web que muestran dichos iframe para finalmente redireccionar a otra parte cuando esté completado el trabajo, por lo que es cierto, necesito que terminen de cargar los iframe pero no sé cómo comprobar si están cargados, lo cual creo que sería una solución.

while($i != 'ejemplo'){
$Url = file_get_content($web);
$i++;
}

while($i != 'ejemplo'){
echo "<iframe>".$web_con_informacion."</iframe>";
$i++;
}

En este caso opté por usar el iframe por que lo consideré la forma más rápida y fácil de enviar el contenido.
  #12 (permalink)  
Antiguo 28/09/2009, 12:22
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Redireccionar tras cargar pagina.

Finalmente lo he solucionado con onload.
<iframe onload='Redireccionar()'></iframe>

Muchísimas gracias a todos por la ayuda y siento no haberme podido explicar bien.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:29.