Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: securedigital en 6 Junio 2007, 19:31 pm



Título: delay
Publicado por: securedigital en 6 Junio 2007, 19:31 pm
Hola a todos.
Esto es el script para matar la session de un usuario.
La intencion es que al salir de la pagina interna, vaya a logoutp.php, muestre "session terminada" y en 3 segundos le eche fuera del sitio.

Código:
<?php
session_start();
session_destroy();
         echo 'Sha acabat la sessió';

/*
for ($i = 0; $i <= 5000; $i ++)
{
for ($j = 0; $j <= 1000; $j ++)
$a++;
}
*/

sleep(3);
         header("Location: A_la_put_calle.php");
?>

Y que es lo que passa¿ pues que al presionar logout la pagina ni se mueve, espera los 3 segundos, muestra el echo en 0,33333333 milesimas de segundo que el usuario ni puede ver i te redirecciona. La gracia es que el usuario vea "session terminada" y en 3 segundos lo eche del site, pero así el user no ve nada.

Alguna idea?

pd: el codigo comentado tambien es para hacer un delay, pasa exactamente igual.

Saludos


Título: Re: delay
Publicado por: Hans el Topo en 6 Junio 2007, 19:53 pm
Código:
<?php echo "<META HTTP-EQUIV=\"refresh\" content=\"3;URL=a_la_put_calle.php\">";





Título: Re: delay
Publicado por: securedigital en 6 Junio 2007, 20:59 pm
pues si, mas facil en html....y no tanta complicacion en php

Saludos y gracias


Título: Re: delay
Publicado por: Crack_X en 7 Junio 2007, 06:12 am
Lo que sucede es que el loop y el sleep() lo hace antes de que el usuario vea la pagina. Recuerda que php interpreta y luego envia el output final. Mejor hacerlo con javascript el delay.