Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Estado de usuario conectado o desconectado

hola como puedo cambiar el estado de un usuario conectado a un usuario desconectado es algo como datoweb online y offline

Saludos Gracias
0
Puntos
1586
Visitas
1
Resp
Por maticapu98 hace 123 meses
Principiante
Respuesta #1
antes de nada decirte que si estas usando un script que cuenta los usuarios online no vas a comprobar bien como funciona hasta que subas la web a remoto y tengas varios usuarios online, por que digo esto? por que si estas en local aunque tengas 2 sesiones iniciadas solo vas a ver un usuario conectado u otro, esto se de debe a que el script cuenta por ip y tu aunque tengas dos sesiones activas solo tienes UNA IP

ahora bien, si lo que quieres es un script aquí tienes
<?
//Variables de conexion
$dbhost = "servidor";
$dbuser = "usuario";
$dbpassword = "password";
$dbname = "nombre_base_datos";
// El tiempo en segundos que ha de pasar
// para que un usuario se elimine
$tiempo_conexion  = 200; 
$timestamp=time();
$desconexion=$timestamp-$tiempo_conexion;

//Insertamos el valor para el usuario 
$db = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Connection Error: " . mysql_error());
mysql_select_db($dbname) or die("Error al conectar a la base de datos.");
$Sql ="INSERT INTO useronline VALUES('$timestamp','$_SERVER[REMOTE_ADDR]')";
$result = mysql_query( $Sql ) or die("No se puede ejecutar la consulta: ".mysql_error());
//Borramos los usuarios cuyo $tiempo_conexion han sobrepasado.
$Sql ="DELETE FROM useronline WHERE timestamp<$desconexion";
$result = mysql_query( $Sql ) or die("No se puede ejecutar la consulta: ".mysql_error());

//Seleccionamos los usuarios que hay online en este momento
$Sql ="SELECT DISTINCT ip FROM useronline";
$result = mysql_query( $Sql ) or die("No se puede ejecutar la consulta: ".mysql_error())
$Usuarios = mysql_num_rows($result);

  if ($Usuarios==1) {
      echo $Usuarios." usuario online";
} else {
      echo $Usuarios." usuarios online.";
}?>
1
Puntos
Por alber hace 123 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate