| |||
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? |
| |||
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. 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? |
| |||
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í. |
| |||
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, |
| |||
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? |
| |||
Cita: Y donde haces uso de sesiones en ese código? (pon el código completo que uses).
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? 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, |