Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: kakashi20 en 27 Enero 2011, 21:12 pm



Título: ayuda session php
Publicado por: kakashi20 en 27 Enero 2011, 21:12 pm
hola

tengo este codigo para las sesiones en php pero quiera que la sesion se destruyera por inactividad por ejemplo que el usuario este inactivo 5 minutos y ahi la sesion se cerrara sola.

<?php
session_start();
require("configuracion.php");

if(!isset($_SESSION['usuario'])){
      header("Location: index.php");
}else{

}
?>

Si alguien me pudiese ayudar se lo agradecería


Título: Re: ayuda session php
Publicado por: madpitbull_99 en 27 Enero 2011, 21:47 pm
Cuando el usuario se identifica (log in) tienes que guardar la hora en una variable de sesión:

Código
  1. $_SESSION['tiempoLogin'] = time();

Y en cada pagina verificar el valor de tiempoLogin:

Código
  1. if($_SESSION['tiempoLogin'] < time()+20*60){ salir(); }

En el script de abajo puedes hacerte una idea de como implementarlo.

Código
  1.  
  2. // el tiempo de validez
  3. $inactivo = 600;
  4.  
  5. // comprobar el tiempo de validez
  6. if(isset($_SESSION['validez']) ) {
  7. $tiempo_vida = time() - $_SESSION['validez'];
  8. if($tiempo_vida > $inactivo)
  9.        { session_destroy(); header("Location: salir.php"); }
  10. }
  11. $_SESSION['timeout'] = time();
  12.  


Título: Re: ayuda session php
Publicado por: zarkiel en 28 Enero 2011, 21:19 pm
Tambien puedes utilizar cookies.
Código
  1.  
  2. // el tiempo de validez
  3. $inactivo = 300; //el tiempo q durará la sesion en segundos
  4. setcookie('usuario','zarkiel',time()+$inactivo,'/','');
  5.  
  6.  

Y para obtener el valor de la cookie utilizas:

Código
  1. echo $_COOKIE['usuario'] // imprime zarkiel

Ojalá te sirva saludos.


Título: Re: ayuda session php
Publicado por: kakashi20 en 2 Febrero 2011, 02:25 am
gracias, fue de gran ayuda....