Foros del Web » Programando para Internet » PHP »

Proyecto "Usuarios Activos Advance"

Estas en el tema de Proyecto "Usuarios Activos Advance" en el foro de PHP en Foros del Web. Hola. Viendo Foros del web, he tenido la curiosidad esa de averiguar los nombres de los usuarios activos. Por ello he propuesto que hagamos un ...
  #1 (permalink)  
Antiguo 05/12/2002, 10:38
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Proyecto "Usuarios Activos Advance"

Hola. Viendo Foros del web, he tenido la curiosidad esa de averiguar los nombres de los usuarios activos. Por ello he propuesto que hagamos un proyecto con el nombre "Usuarios Activos Advance". Éste sería de licencia GPL y libre distribución, lo que permitirá mejorar continuamente el código y servir de ayuda a mucha gente.
Yo, que se poco de PHP, he realizado la primera parte de este código. Es bastante regular, y seguro que todos me podríais ayudar a mejorarlo. Ahí va el codigo para crear tabla:

DROP TABLE IF EXISTS usuarios_activos_advance;
CREATE TABLE usuarios_activos_advance (
ip varchar(20) NOT NULL default '',
usuario varchar(50) NOT NULL default '',
fecha int(14) unsigned NOT NULL default '0',
PRIMARY KEY (ip)
) TYPE=MyISAM;

Y ahi va el código en PHP. No me ha funcionado, pero no he encontrado fallos. A ver si lo mejoramos y lo hacemos de libre distribución. Por cierto, por ahora sólo muestra el número de usuarios activos. Más tarde seguiré haciéndolo y mostrará además los nombres de las personas conectadas (aunque para ello habrá que diseñar un sistema de autentificación y una nueva tabla en MYSQL llamada "miembros". Ahí va el código:

Código PHP:
<?php
#Variables
$cookie_usuario $_COOKIE['cookie_usuario'];
#Ponemos el tiempo actual
$tiempo time();
#Tiempo minimo para poder saber si el usuario ha desconectado (5 minutos)
$tiempo_minimo $tiempo-5*60;
#Averiguamos la ip de dos metodos distintos si uno u otro metodo no funciona
$ip $HTTP_X_FORWARED_FOR;
 if (
$ip=="") {
 
$ip $REMOTE_ADDR;
 } else {
 }
/////////////
//Conectamos a la bd
   
$link=mysql_connect("localhost","root","root");
   
mysql_select_db("skatextreme",$link); 

//Borramos los usuarios que esten inactivos 5 minutos
   
$sql "delete from usuarios_activos_advance where fecha < ".$tiempo_minimo;
   
mysql_query($sql);
/////////////

    
if (! $cookie_usuario) {
//Si no hay cookie_usuario asignamos al visitante como anonimo
$usuario "Anonimo";
//Miramos si el usuario se habia metido en la pagina
   
$sql "select ip from usuarios_activos_advance where ip = '$ip' and usuario = '$usuario'";
   
$result mysql_query($sql);
        if (
mysql_num_rows($result) != 0) {
        
$sql "update usuarios_activos_advance set fecha = ".$tiempo." where ip = '$ip' and usuario = '$usuario'";
        
mysql_query($sql);
        } else {
//Si no existe insertamos el usuario en la base de datos
        
$sql "insert into usuarios_activos_advance (ip, usuario, fecha) values ('$ip', '$usuario', $time)";
        
mysql_query($sql);
        }
   
mysql_free_result($result);
    } else {
//Ahora conocemos al usuario
$usuario $cookie_usuario;
//Miramos si el usuario se habia metido en la pagina
   
$sql "select ip from usuarios_activos_advance where ip = '$ip' and usuario = '$usuario'";
   
$result mysql_query($sql);
        if (
mysql_num_rows($result) != 0) {
        
$sql "update usuarios_activos_advance set fecha = ".$tiempo." where ip = '$ip' and usuario = '$usuario'";
        
mysql_query($sql);
        } else {
//Si no existe insertamos el usuario en la base de datos
        
$sql "insert into usuarios_activos_advance (ip, usuario, fecha) values ('$ip', '$usuario', $time)";
        
mysql_query($sql);
        }
   
mysql_free_result($result);
    }

   
$sql "select ip, usuario from usuarios_activos_advance";
   
$result mysql_query($sql);
   
$usuarios mysql_num_rows($result);
   
//devolvemos el resultado
   
return $usuarios;
   
//liberamos memoria
   
mysql_free_result($result);
?>
__________________
"No hay mujer fea sino copa de menos"
  #2 (permalink)  
Antiguo 05/12/2002, 16:50
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
¿A nadie le interesa qué usuarios están conectados en su página?
Creo que es un script que no se ha visto por ninguna página, así que sería interesante que lo desarrollaramos entre todos.
Gracias.
__________________
"No hay mujer fea sino copa de menos"
  #3 (permalink)  
Antiguo 05/12/2002, 17:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. esta "rueda" ya está inventada .. scripts de este tipo de contadores de usuarios activos hay muchos ...

Tanto en Mysql como en ficheros de texto plano .. Pero si quieres iniciar un nuevo proyecto .. empieza por publicar en una web lo q tengas .. y si pones una lista de correo o un foro sobre la aplicación mejor todavia para aportar sobre el proyecto ...

Un saludo,
  #4 (permalink)  
Antiguo 07/12/2002, 19:13
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Gracias. Ya lo he terminado para mi web. Cuando lo suba a mi web dare la opcion de descargarse el codigo del contador, asi que ya está
__________________
"No hay mujer fea sino copa de menos"
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 02:23.