Foros del Web » Programando para Internet » PHP »

Manejo de Sesiones

Estas en el tema de Manejo de Sesiones en el foro de PHP en Foros del Web. Que tal quisiera saber como puedo limitar el tiempo que una sesion esta abierta, en otras palabras hacer que el usuario tenga que ir al ...
  #1 (permalink)  
Antiguo 21/02/2007, 05:08
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Manejo de Sesiones

Que tal quisiera saber como puedo limitar el tiempo que una sesion esta abierta, en otras palabras hacer que el usuario tenga que ir al login otra vez en caso de que se demore por ejemplo 5 minutos

Alguien tiene alguna forma sencilla de hacerlo?

Gracias
  #2 (permalink)  
Antiguo 21/02/2007, 05:37
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 5 meses
Puntos: 9
Sonrisa Re: Manejo de Sesiones

Una vez que el usuario esta logueado puedes hacer lo siguiente en el mismo script donde defines la sesion agrega:
Código PHP:
$_SESSION["ultimo_acceso"]=date("Y-n-j H:i:s"); 
Luego podrias crear otro script para controlar el tiempo y a este mismo incluirlo en todas las pagina:
Código PHP:
$fecha_ult_acc=$_SSESION["ultimo_acceso"];
$fecha_hoy=date("Y-n-j H:i:s");
//calculas el tiempo transcurrido
$tiempo=(strtotime($fecha_hoy)-strtotime($fecha_ult_acc));
//comparas el tiempo: igual a 5 minutos o mas
if($tiempo>=300){
session_destroy();//destruyes la sesion
header: ("Location: paginadeingreso.php");//lo devuelves a donde quieres
}
else 
//sino actualizas el acceso
{
$_SESSION["ultimo_acceso"]=$fecha_hoy;

Deberias verificar que el usuario este logueado antes de realizar lo del segundo script pero esa parte te la dejo para que la complementes vos. Saludos. Espero haberte ayudado
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 21/02/2007, 06:19
 
Fecha de Ingreso: mayo-2006
Ubicación: Viña del Mar , Chile
Mensajes: 103
Antigüedad: 13 años, 9 meses
Puntos: 0
Re: Manejo de Sesiones

Creo que seria mucho mejor usar cookies , dandoles un tiempo de expiracion.
  #4 (permalink)  
Antiguo 21/02/2007, 06:41
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
De acuerdo Re: Manejo de Sesiones

Hey si buenisimo, perfecto

Muchas gracias
  #5 (permalink)  
Antiguo 21/02/2007, 07:25
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Re: Manejo de Sesiones

Andryus que ventajas tendria utilizar cookies?
  #6 (permalink)  
Antiguo 21/02/2007, 07:45
 
Fecha de Ingreso: mayo-2006
Ubicación: Viña del Mar , Chile
Mensajes: 103
Antigüedad: 13 años, 9 meses
Puntos: 0
Re: Manejo de Sesiones

el sistema que plantea cala932 lo veo un tanto engorroso , pero funcional , con cookies lo veo mas
facil :

Cita:
<?PHP
//CREAMOS LA COOKIE USUARIO.
setcookie("usuario","jose",time()+3600);

//ASIGNAMOS LA COOKIE A UNA VARIABLE.
$user=$_COOKIE["usuario"];

//MOSTRAMOS EN EL NAVEGADOR EL NOMBRE DEL USUARIO.
echo "Bienvenido $user";
?>

Creamos una cookie de nombre "usuario", y le dimos el valor de "jose".

Puedes crear una cookie con el nombre que quieras , por ejemplo puedes usar

Cita:
setcookie("usuario"," $_GET['nombre']", time()+3600);
Para crear una cookie segun el nombre de usuario ingresado previamente en el formulario mediante metodo GET.

Y para destruir la cookie , un archivo logout.php que contenga:

Cita:
// destruir cookies
setcookie('usuario','nombredelusuario',time()-3600);
3600 es el tiempo de expiracion de la cookie , si le restamos 3600 ya la cookie no existirá porque abra sobrepasado el tiempo con el cual creamos la cookie.

Puedes ver un ejemplo de manejo de cookies aqui:

http://www.webestilo.com/php/php13c.phtml

Para mi mucho mas facil , pero con sesiones tambien es factible.

Saludos.

Última edición por andryus; 21/02/2007 a las 09:47
  #7 (permalink)  
Antiguo 01/05/2007, 13:47
 
Fecha de Ingreso: agosto-2006
Mensajes: 78
Antigüedad: 13 años, 5 meses
Puntos: 0
Re: Manejo de Sesiones

Cita:
Iniciado por andryus Ver Mensaje
el sistema que plantea cala932 lo veo un tanto engorroso , pero funcional , con cookies lo veo mas
facil :




Creamos una cookie de nombre "usuario", y le dimos el valor de "jose".

Puedes crear una cookie con el nombre que quieras , por ejemplo puedes usar



.
Hola,

Me surgue una duda con las Cookies si el usuario limpia las cookies, puede volver a entrar y disponer de mas tiempo para seguir viendo las paginas, me refiero aparte del tiempo no podria verificarse por IP, ya que desconectar es mas dificil si este usuario esta en una red publica.(biblioteca, universidad, etc)
en cambio limpiar el navegador le es mas facil.
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 13:02.