Foros del Web » Programando para Internet » PHP »

usuarios online en php y mysql

Estas en el tema de usuarios online en php y mysql en el foro de PHP en Foros del Web. Hola a todos alguien podria ayudarme con unas sesiones en web xk ejemplo si tienes una tabla de usuarios y si uno de ellos entra ...
  #1 (permalink)  
Antiguo 08/03/2013, 16:21
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Información usuarios online en php y mysql

Hola a todos alguien podria ayudarme con unas sesiones en web xk ejemplo si tienes una tabla de usuarios y si uno de ellos entra al sistema que ya nadie mas se pueda loguear con ese mismo usuario o te muestre un msj de que ya has iniciado sesion se podra hacer esto...
mi tabla se llama usuarios con x datos

Usuario ----Contraseña---Nombre----Fecha_registro---nivel
ADO ---------123 ------- ADMIN -----2012-08-23---- 1
SOS --------- 12345------- USER2 -----2012-07-11 ----- 2
DES -------- 123456 ------ USER3-----2012-08-30 ----- 3

por ejemplo cuando me logueo con ADO entro a la pagina y me dice Usuario:ADO y asta ahi todo bien pero por ejemplo si entro al sistema de otra compu o en la misma pero con otro explorador igual me deja loguear y lo que quiero esque solo me deje accesar una vez por usuario registrado
  #2 (permalink)  
Antiguo 08/03/2013, 17:33
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: usuarios online en php y mysql

se me ocurre que podrias agregar un campo mas a tu tabla "online", y cuando el usuario se loguee que cambie a 1, y verificar ese campo para el logueo de otro compu o browser, para restaurarlo puedes usar javascript y ajax para utilizar el evento onunload de body, asi si el usuario cierra la ventana ese evento trigerea una función javascript para que cambie online a 0

<body onunload="funcion_ajax()">

con jquery te quedaria de maravillas.

saludos
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #3 (permalink)  
Antiguo 09/03/2013, 09:17
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: usuarios online en php y mysql

Hola muchas gracias cadrogui lo intentare haber que tal me va unque no me kedo muy claro del todo pues nose que funcion javascript utilizar,ajax o el jquery que dices pero igual gracias por tu aporte
  #4 (permalink)  
Antiguo 09/03/2013, 09:57
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: usuarios online en php y mysql

evidentemente debes descargar jquery y referenciarlo antes

el javascript de para poner offline a los usuarios

Código HTML:
function online(){

  $.ajax({
		 type: "POST",
		 url: 'marca_offline.php',
		 data: {offline = '0'}
	   });
}


}
<body onunload="online()">

en el archivo marca_offline.php solamente obtienes la variable "offline" con $_POST['offline']; y haces un UPDATE a tu tabla de usuarios para que marque al usuario como offline "0" y para verificar si esta onine cada vez que te logeas cambias el valor nuevo en la tabla usuarios (online) a "1"

al cerrar sesion tambien hay que cambiar de valor al campo online

espero te sirva,

saludos


pd:

jQuery es un framework escrito en javascript, que dentro de todas sus bondades tiene una implementacion de AJAX, y AJAX es una forma de comunicar a un cliente con un servidor de forma asincrónica.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #5 (permalink)  
Antiguo 09/03/2013, 10:08
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: usuarios online en php y mysql

nuevamente gracias me pondre a trabajar en ello hay te aviso k tal me va con esto saludos cadrogui..
  #6 (permalink)  
Antiguo 09/03/2013, 12:18
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: usuarios online en php y mysql

Hola oye me podria pasar tu script donde cambias el valor online a 0 eske el codigo k me pusiste arriba me marca error y lo estoy tratando de reparar pero nada solo me falta eso saludos
  #7 (permalink)  
Antiguo 09/03/2013, 12:36
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: usuarios online en php y mysql

te dejo un ejemplo

Código HTML:
<!DOCTYPE html>
<html>
<head>
  <style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>

function online(){

  $.ajax({
		 type: "POST",
		 url: 'marca_offline.php',
		 data: {offline = '0'}
	   });
}


}

  </script>
</head>

<body onunload="online()">

<h2>cada vez que cierras la ventana se ejecuta la función online()</h2>  

</body>
</html> 
el php deberia ser algo así:

Código PHP:
<?
$offline 
$_POST['offline'];

// solo faltaria la llamada a mysql para que actualice el valor de la tabla de tus usuarios, especificamente al campo online, ya que lo cambiaria a 0 = offline y 1 = online
?>
saludos
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #8 (permalink)  
Antiguo 09/03/2013, 13:02
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: usuarios online en php y mysql

Listo ya me kedo muchas gracias por todo cadrogui saludos...
  #9 (permalink)  
Antiguo 09/03/2013, 13:03
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: usuarios online en php y mysql

:D de nada!

saludos
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl

Etiquetas: mysql, registro, tabla, usuarios
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 05:53.