Foros del Web » Programando para Internet » PHP »

Introducir un timeout para ejecutar algo dentro de un tiempo determinado

Estas en el tema de Introducir un timeout para ejecutar algo dentro de un tiempo determinado en el foro de PHP en Foros del Web. Tengo una página en la que si todo funciona correctamente, aparece el típico mensaje de "Validación correcta. En 5 segundos regresará a la página principal". ...
  #1 (permalink)  
Antiguo 04/01/2006, 03:45
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 14 años, 6 meses
Puntos: 3
Introducir un timeout para ejecutar algo dentro de un tiempo determinado

Tengo una página en la que si todo funciona correctamente, aparece el típico mensaje de "Validación correcta. En 5 segundos regresará a la página principal". Con qué función se hacía esto?
  #2 (permalink)  
Antiguo 04/01/2006, 03:51
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Para que a los 5 segundos se redirecione a otra pagina debes usar un tag de HTML entre las etiquetas de HEAD:

<meta content="5;url='http://www.mipagina.com'" http-equiv="refresh">
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 04/01/2006, 03:52
 
Fecha de Ingreso: diciembre-2005
Mensajes: 88
Antigüedad: 12 años
Puntos: 0
Yo lo hize de la siguiente forma:

<script LANGUAGE="JavaScript">
var pagina="http://www.tusitio.com"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()", 1000);
</script>

var pagina ="http://www.tusitio.com" -> lo sustituyes por la pagina donde quieres redireccionar.

setTimeout ("redireccionar()", 1000); -> el mil lo cambias por los segundos que tu quieras. Ten encuenta que esta en milisegundos, asi que si quieres que redireccione en 5 segundos, debes poner 5000.
1 segundo = 1000 milisegundos.

PD: este codigo deber ir dentro del tag <body></body>

Un saludo.
  #4 (permalink)  
Antiguo 04/01/2006, 03:55
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 14 años, 6 meses
Puntos: 3
Gracias. Pero quisiera hacerlo en PHP. Recuerdo que había algo para eso. Además, la recarga se llama desde dentro del <BODY> necesariamente, por lo cual se supone que no puedo añadir más cosas a <HEAD> no?
  #5 (permalink)  
Antiguo 04/01/2006, 03:56
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 14 años, 6 meses
Puntos: 3
Cita:
Iniciado por germanpr
Yo lo hize de la siguiente forma:

<script LANGUAGE="JavaScript">
var pagina="http://www.tusitio.com"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()", 1000);
</script>

var pagina ="http://www.tusitio.com" -> lo sustituyes por la pagina donde quieres redireccionar.

setTimeout ("redireccionar()", 1000); -> el mil lo cambias por los segundos que tu quieras. Ten encuenta que esta en milisegundos, asi que si quieres que redireccione en 5 segundos, debes poner 5000.
1 segundo = 1000 milisegundos.

PD: este codigo deber ir dentro del tag <body></body>

Un saludo.

Gracias German, eso me viene mejor para usarlo, aunque no sea PHP voy a intentar hacerlo así.
  #6 (permalink)  
Antiguo 04/01/2006, 06:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Las soluciones que te han planteado no son PHP sino javascript o HTML (cabeceras)

El hecho es que ese proceso lo haces desde el "cliente" no desde el "servidor" (en PHP).

Tu envias vía PHP (o generas mejor dicho) cierta página HTML con tal "aviso" o contenido y quieres que tu "navegador" a cierto tiempo redireccione hacia otro URL (cargando otra página/scritp PHP) .. Esa acción como sucede en el "cliente" (tu navegador) no es taréa de PHP. Esto es importante que lo conozcos y empiezes a distinguir lo que es taréa de PHP y lo que sería del "navegador" (en HTML, Javascript y lenguajes que este entienda).

Un saludo,
  #7 (permalink)  
Antiguo 05/01/2006, 04:29
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 14 años, 6 meses
Puntos: 3
Es que hay una cosa que me pasa cuando hago el redireccionamiento:

Ocurre cuando un usuario registrado y con una sesión abierta entra en un formulario para cambiar datos de su cuenta. Una vez cambiados, mediante el javascript que me proporcionó germanpr hago la recarga en 5 segundos, pero al hacer eso pierdo la sesión.

Entonces he pensado:
¿Cómo hacer para conservar esa sesión cuando se ejecute el javascript?
  #8 (permalink)  
Antiguo 05/01/2006, 06:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Tigervlc
Es que hay una cosa que me pasa cuando hago el redireccionamiento:

Ocurre cuando un usuario registrado y con una sesión abierta entra en un formulario para cambiar datos de su cuenta. Una vez cambiados, mediante el javascript que me proporcionó germanpr hago la recarga en 5 segundos, pero al hacer eso pierdo la sesión.

Entonces he pensado:
¿Cómo hacer para conservar esa sesión cuando se ejecute el javascript?
Y donde haces uso de sesiones en ese código? (pon el código completo que uses).

Si usas sesiones (www.php.net/session) al parecer lo que sucede es que pierdes el SID que une la sesión creada en el servidor con el cliente que la creó.

El SID pudes propagarlo por el URL o en cookies . ."parece" (habría que confirmar como realmente tu estás propagando el SID según tu configuración de PHP y código que usas) propagas el SID en el URL sólo (por no propagar el SID en cookies o no aceptaras y usar a su vez propagación del SID en el URL) .. En esos casos, si tu NO añades el SID en tus redireccionamientos javascirpt o vía cabeceras META de refresh .. la sesión se pierde (mejor dicho se pierde el SID y con el, el enlace de la sesión en el servidor con el cliente).

Un saludo,
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 17:06.