Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2007, 12:49
acidport
 
Fecha de Ingreso: junio-2007
Mensajes: 6
Antigüedad: 16 años, 11 meses
Puntos: 1
Impedir que un usuario se loguee 2 o mas veces

Saludos.

Necesito una colaboración en mi aplicación y espero me puedan ayudar con esto. Quisiera saber como impedir que un usuario ingrese al sistema dos 0 mas veces con los mismos datos de login pero aplicando concepto de sesiones tengo una tabla usuario con una variable llamada estado que toma dos posibles valores 'Activo' o 'Inactivo' dependiendo si le usuario esta o no logueado.la variable se actualiza dependiendo de si el usuario cerró sesion o no. el script que me ejecuta esto esta asociado a un botón que me lleva a cabo la acción todo funciona bien,pero quisiera saber como hacer para que al cerrar el navegador esta variable también se me actualize aqui pongo el script que me controla el cierre de sesión.

<?php

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


// SELECCIÓN DE LA BASE DE DATOS
mysql_select_db("db",$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 5 SEGUNDOS
//COMPARAR TIEMPO TRANSCURRIDO
if($tiempo_transcurrido >= 5)
{


// DESTRUIR LA SESION
session_destroy();

// INICIALIZAMOS LA VARIABLE EN CERO 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. para volver a loguearse vuelva a la sección de usuarios.<a href = 'ingresar.html'><img src = 'Ir.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;
}

}

?>

Espero me puedan ayudar ya que no he encontrado la forma de hacerlo de antemano muchas gracias.