Foros del Web » Programando para Internet » PHP »

visitantes activos (miembros y visitantes)

Estas en el tema de visitantes activos (miembros y visitantes) en el foro de PHP en Foros del Web. hola, cómo podría hacer un sistema de visitantes activos?? me gustaría que también salgan los miembros q están conectados. de momento sólo tengo el de ...
  #1 (permalink)  
Antiguo 28/09/2003, 04:38
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
Pregunta visitantes activos (miembros y visitantes)

hola, cómo podría hacer un sistema de visitantes activos?? me gustaría que también salgan los miembros q están conectados. de momento sólo tengo el de visitantes, pero por desgracia creo que funciona mal, porq siempre hay 1 sólo usuario conectado, y con el anterior que era de una empresa q te daba de estos tenía 5 y 10 como máximo.

a ver si alguien sabe como hacer un sistema de usuarios activos que funcione bien, con los miembros tambi´´en, y decirme que datos os tengo q dar plz

un saludo
  #2 (permalink)  
Antiguo 28/09/2003, 06:22
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 20 años, 8 meses
Puntos: 0
Facil

bueno pues eso es muy facil, te dejo el php i luego te explico el codigo
Código PHP:
<?

// Tiempo en segundos en que expira la sesión.
$fin_session 600;

$arr file("usuarios.dat");
$contenido $REMOTE_ADDR.":".time()." ";

for ( 
$i $i sizeof($arr) ; $i++ )
{
$tmp explode(":",$arr[$i]);
if (( 
$tmp[0] != $REMOTE_ADDR ) && (( time() - $tmp[1] ) < $fin_session ))
{
$contenido .= $REMOTE_ADDR.":".time()." ";
}
}

$fp fopen("usuarios.dat","w");
fputs($fp,$contenido);
fclose($fp);

$array file("usuarios.dat");

$USUARIOS_ACTIVOS count($array);

// Imprimimos la cantiadad de usuarios activos
echo "Hay ".$USUARIOS_ACTIVOS." usuarios activos";
?>
Sencillamente acemos un archivo que nos diga que tal usuario esta activo i asi se van acumulando si te fijas en el codigo ai guias.
Para pner eso en cada pagina no es necesario que copies el codigo, solo pon include("visitantes_activos.php") o como le llames a este archivo
  #3 (permalink)  
Antiguo 28/09/2003, 06:39
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
si, yo uso el include ;)

y lo de los miembros que tengo registrados?? como puedo hacer que está por ejemplo:

Usuarios conectados: 2
Miembros conectados: 3, Black_River - Tass - Zoom

no sé sime explico...

P.D: uso cookies
  #4 (permalink)  
Antiguo 28/09/2003, 06:42
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 20 años, 8 meses
Puntos: 0
tu tienes msn? dimelo en un mensaje privado si tienes,
lo de los usuarios depende de ti i tu sistema, porque es diferente ya es segun tu BD tus scripts etc, de toda manera me puedes enviar un email a [email protected]
  #5 (permalink)  
Antiguo 28/09/2003, 06:43
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 20 años, 8 meses
Puntos: 0
ei as visto tus foros????
Los puedes empezar a arreglar jejejeje
  #6 (permalink)  
Antiguo 28/09/2003, 07:46
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
si los usuarios estan online y estan registrados.... si usas cookies, o sessiones, o lo que sea, haz un registro mas en la base de datos, y le llamas por ejemplo Online,

cuando se logeen, haces que ponga un 1 y asi luego puedes ver los logeados,

tb tendrias que hacer un comprobador cada cierto tiempo, ya sea como dije antes tipo cookie o session.

aun asi, tb puedes hacer otro registro que guarde la ip si no lo haces ya, asi comparas la ip del user con la del login.... y podras sacar los nombres de los usuarios online
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 28/09/2003, 10:10
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
ivanguillen ya te agregué.

nuevo, tu idea tiene buena pinta, pero... no soy tan experto del php XD aún soy novato... lo de hacer un nuevo registro y añadir a la tabla (online) lo entiendo, pero luego hacerlo funcionar... eso es otro mundo, por favor explicádmelo plz.

mi tabla de usuarios es esta:

users:
Código PHP:
CREATE TABLE users (
id INT11 NOT NULL AUTO_INCREMENT,
nick VARCHAR(30NOT NULL ,
pass VARCHAR(15NOT NULL ,
email VARCHAR(100NOT NULL ,
fecha INT(15NOT NULL ,
level INT(10NOT NULL ,
rollo LONGTEXT NOT NULL ,
msn VARCHAR(100NOT NULL ,
icq numeric(100NOT NULL ,
dia numeric(100NOT NULL ,
mes char(100NOT NULL ,
anyo numeric(4NOT NULL ,
INDEX ( `id` ) 
); 
venga un saludo y os espero ;)
  #8 (permalink)  
Antiguo 28/09/2003, 12:43
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
la tabla seria algo asi, no cambia mucho, la hice nueva pq la tuya no me funcionaba,

Código PHP:
# MySQL-Front Dump 2.5
#
# Host: localhost   Database: a
# --------------------------------------------------------
# Server version 3.23.55-nt


#
# Table structure for table 'users'
#

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `
idint(11NOT NULL auto_increment,
  `
nickvarchar(30NOT NULL default '',
  `
passvarchar(30NOT NULL default '',
  `
emailvarchar(30NOT NULL default '',
  `
levelvarchar(30NOT NULL default '',
  `
rollolongtext NOT NULL,
  `
msnvarchar(100NOT NULL default '',
  `
icqint(100NOT NULL default '0',
  `
diaint(100NOT NULL default '0',
  `
mesvarchar(100NOT NULL default '',
  `
anyoint(4NOT NULL default '0',
  `
onlineint(1NOT NULL default '0',
  `
ip_usrvarchar(70NOT NULL default '000.000.000.000',
  `
date_onlinedatetime default '2003-01-01 00:00:00',
  
KEY `id` (`id`)
TYPE=MyISAM;



#
# Dumping data for table 'users'





ahora lo unico que tienes que hacer, es pillar la ip del ususario cuando hace el login y esta dentro del sistema de logeo




Código PHP:
if ($_SERVER) {
        if ( 
$_SERVER[HTTP_X_FORWARDED_FOR] ) {
            
$ip_real $_SERVER['HTTP_X_FORWARDED_FOR'];
}
    elseif ( 
$_SERVER['HTTP_CLIENT_IP'] ) {
            
$ip_real $_SERVER['HTTP_CLIENT_IP'];
}
else {
            
$ip_real $_SERVER['REMOTE_ADDR'];
}
}
 else {
        if ( 
getenv'HTTP_X_FORWARDED_FOR' ) ) {
            
$ip_real getenv'HTTP_X_FORWARDED_FOR' );
}
elseif ( 
getenv'HTTP_CLIENT_IP' ) ) {
            
$ip_real getenv'HTTP_CLIENT_IP' );
}
else {
            
$ip_real getenv'REMOTE_ADDR' );
}
}

echo 
$ip_real;// esta es la ip 
y la almacenas en su registro " ip_usr ", asi mismo le dices 1 al registro " online " y lo almacenas tb, y luego la fecha en ese momento... con date(Y-m-d H:m:s)

.... me tengo que ir, tuve un problema... luego sigo
__________________
3w.valenciadjs.com
3w.laislatv.com
  #9 (permalink)  
Antiguo 29/09/2003, 07:33
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
ok tranquilo te espero nga un saludo
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 11:10.