Foros del Web » Programando para Internet » PHP »

destruir session_id

Estas en el tema de destruir session_id en el foro de PHP en Foros del Web. HOla,,, Trabajo con una aplicacion a la cual le asigno una variable a la session_id $id=session_id(); lo que deseo hacer es que este $id dure ...
  #1 (permalink)  
Antiguo 09/10/2008, 14:36
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
destruir session_id

HOla,,,
Trabajo con una aplicacion a la cual le asigno una variable a la session_id
$id=session_id();

lo que deseo hacer es que este $id dure un tiempo no superior a 20 minutos y que en ese caso corra un script que se llamado salir.php que me borra todos los datos ingresados hasta el momento.
El script salir.php funciona perfectamente llamado desde un formulario con un boton "cancelar ingreso de datos" por ejemplo.
La idea es que ademas del boton cancelar corra mi salir.php si el usuario no hace nada durante 20 minutos..
muchas gracias por sus ideas
  #2 (permalink)  
Antiguo 09/10/2008, 14:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: destruir session_id

Hola juanguitar,

Modifica en tu php.ini la variable session.max_lifetime.

Saludos.
  #3 (permalink)  
Antiguo 09/10/2008, 14:45
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: destruir session_id

Mmmm... esto es una practica muy comun, aqui tengo un par de funciones que hice hace un tiempo:

Ejecutas esta cuando el usuario inicia session:
Código:
function set_user_session($usuario){
	$_SESSION['usuario']		= $usuario;
	$_SESSION['expire_session']	= time()+$usuario['expire_time'];
}
ahora pones esta funcion en cada script que necesites sacar al usuario por inactividad:

Código:
function check_user_session(){
	$err=0;
	if(!isset($_SESSION['usuario'])){$err=1;
	
	if($_SESSION['expire_session']<time()){$err=1;
	
	if( $err==1 ){header("Location: endsession.php");}
	
	$_SESSION['expire_session']	= (time()+$_SESSION['usuario']['expire_time']);
}
en donde $_SESSION['usuario']['expire_time'] es el tiempo en segundos que quieres que dure la session.

Espero te ayude...

Saludos...
  #4 (permalink)  
Antiguo 09/10/2008, 14:45
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: destruir session_id

Cita:
Iniciado por GatorV Ver Mensaje
Hola juanguitar,

Modifica en tu php.ini la variable session.max_lifetime.

Saludos.
Gator...pero modificando esto no puedo generar la accion que yo quiero? osea que me corra el salir.php que internamente me borra los registros subidos hasta el momento en mi base de datos. que me recomiendas??
  #5 (permalink)  
Antiguo 09/10/2008, 14:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: destruir session_id

En ese caso haz lo que te dice Un_Tico.

Saludos.
  #6 (permalink)  
Antiguo 09/10/2008, 15:02
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: destruir session_id

ok voy a probar..muchas gracias...
  #7 (permalink)  
Antiguo 09/10/2008, 23:49
Avatar de hitech  
Fecha de Ingreso: octubre-2008
Ubicación: Chiquimula
Mensajes: 72
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: destruir session_id

session_destroy();

esto te eliminara todas las variables para esa sesion, asi tambien como el SID
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 01:40.