Foros del Web » Programando para Internet » PHP »

Cerrar sesion al cerrar el navegador y actualizar una variable en una tabla a la vez

Estas en el tema de Cerrar sesion al cerrar el navegador y actualizar una variable en una tabla a la vez en el foro de PHP en Foros del Web. Saludos. Mi situación es la siguiente estoy programando una aplicación web manejando y aplicando el concepto de sesiones.tengo una tabla usuarios con una variable llamada ...
  #1 (permalink)  
Antiguo 01/06/2007, 11:28
 
Fecha de Ingreso: junio-2007
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 1
Cerrar sesion al cerrar el navegador y actualizar una variable en una tabla a la vez

Saludos.

Mi situación es la siguiente estoy programando una aplicación web manejando y aplicando el concepto de sesiones.tengo una tabla usuarios con una variable llamada estado que referencia dos posibles valores 'Activo' o 'Inactivo' dependiendo de si el usuario ha iniciado una sesion o la ha terminado.En mi diseño tengo un boton que me ejecuta el script de cerrar sesion y me actualiza la variable anteriormente nombrada.Esto para impedir que un usuario se loguee dos o mas veces con el mismo código y demas datos.mi duda es como hacer que al cerrar el explorador esta variable tambien pueda ser actualizada pues sino se cierra la sesion(Cosa que pasa desapercibida por muchos usuario)el valor de la variable permanecerá activo e impedirá que el usuario se loguee y acceda al sistema en otra oportunidad.

Espero me puedan colaborar con esta situación. si necesitan mas datos refentes al script con gusto los compartiré.

De antemano gracias y espero su pronta colaboración.

Última edición por acidport; 01/06/2007 a las 11:42
  #2 (permalink)  
Antiguo 01/06/2007, 12:39
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Re: Cerrar sesion al cerrar el navegador y actualizar una variable en una tabla a la

Al cerra el navegador la sesion se destruye, sólo que no instantáneamente, si no que depende de la configuración de php.
  #3 (permalink)  
Antiguo 01/06/2007, 13:32
 
Fecha de Ingreso: junio-2007
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Cerrar sesion al cerrar el navegador y actualizar una variable en una tabla a la

Claudiovega quizas no me di a entender bien aqui muestro el script para ver si me podeis colaborar

<?php

// ESTABLECER LA CONEXIÓN CON EL SERVIDOR
$conex = mysql_connect("localhost", "XXXXX", "XXXXX")
or die ("No se pudo realizar la conexión con la base de datos");


// SELECCIÓN DE LA BASE DE DATOS
mysql_select_db("bd",$conex);

// NOMBRE DE LA SESION
session_name("loginEstudiante");

session_start();

if ($_SESSION["s_estado"] == 'Activo' )
{

//CALCULAR TIEMPO TRANSCURRIDO
$fechaGuardada = $_SESSION["ultimoAcceso"];
$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora) - strtotime($fechaGuardada));

//TIEMPO A 2 MINUTOS
//COMPARAR TIEMPO TRANSCURRIDO
if($tiempo_transcurrido >= 120)
{


// DESTRUIR LA SESION
session_destroy();

// INICIALIZAMOS LA VARIABLE EN INACTIVO NUEVAMENTE
$_SESSION["s_estado"] = 'Inactivo';

$consulta = "UPDATE usuarios SET nomusu = '$_SESSION[s_nomest]', estado = '$_SESSION[s_estado]' WHERE codusu = $_SESSION[s_codest] ";
$resultado = mysql_query($consulta, $conex);


$my_error = mysql_error($conex);

if(!empty($my_error))
{
echo "No se pudo actualizar la tabla usuarios";
}
else
{
echo "<center><font color = #575757 ><b>La sesión ha sido cerrada. <a href = 'usuario.php'><img src = 'Volver.jpg' vspace = 10 border = 0 height = 50 width = 50 ></center></font></a>";
}

// LIBERAR LOS CURSORES
//mysql_free_result($resultado);

}
else
{
// SE ACTUALIZA LA FECHA ACTUAL
$_SESSION["ultimoAcceso"] = $ahora;
}

}
?>

ya probe cerrando el navegador sin oprimir cerrar sesion y la variable no se actualiza nuevamente a 'INACTIVO' este es el script asociado al boton cerrar sesion.
Espero me haya hecho entender. Gracias.

Última edición por acidport; 01/06/2007 a las 13:54
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 20:33.