Buenas , soy nuevito en este forin pero = kiero aportar ya que no e visto este codigo lo pongo pk estube webeando mucho mucho rato para ver cmo lo hacia ( no soy nada profesional en php, como pueden notar... pero = le hago empeño xD )
en fin les dejo el codigo.
primero el .SQL
CREATE TABLE `useronline` (
`tiempo` int(15) NOT NULL default '0',
`ip` varchar(40) NOT NULL,
`file` varchar(100) NOT NULL,
PRIMARY KEY (`tiempo`),
KEY `ip` (`ip`),
KEY `file` (`file`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
segundo el archivo usuariosonline.php
<?
##########################################
##
SCRIPT por MeTaLKaT Para PHPeros
##
##
http://www.InfraGameZ.Com/
##
##
http://www.PHPeros.Net/
##
##########################################
$host = "localhost"; # Nombre del Host
$user = "USUARIO DE LA DB"; # Usuario de la base de datos
$pass = "PASS DE LA DB"; # Contraseña de la base de datos
$dbname = "NOMBRE DE LA DB"; # Nombre de la base de datos
#include ("./config.php"); # tambien puedes tenerlo en tu config.php :P tendrias que borrar lo anterior
# Tiempo de sesion que dura un usuario viendo la web
$sesion = "200"; # Tiempo de Duracion (en segundos)
# Solo 1 (una) persona en linea (para decir singularmente cuantos usuarios hay)
$singular1 = "Hay"; # cambiar si deseas
$singular2 = "Invitado Online."; # cambiar si deseas
# 2(dos) o mas personas en linea (para escribir en plural cuantos usuarios hay)
$plural1 = "Hay"; # cambiar si deseas
$plural2 = "Invitados Online."; # cambiar si deseas
# modifica esto solo si sabes lo que haces xD
$tiempo=time(); # Vemos el tiempo
$timeout=$tiempo-$sesion; # restamos el tiempo al tiempo de sesion
mysql_connect($host,$user,$pass) or die('No se puede conectar al servidor.' ); # conectamos
# insertamos los datos del usuario invitado que esta viendo nuestra web
mysql_db_query($dbname, "INSERT INTO useronline VALUES ('$tiempo','$REMOTE_ADDR','$PHP_SELF')") or die("ERROR DEL INSERT");
# borramos los usuarios que an dejado de ver la web en el tiempo estipulado
mysql_db_query($dbname, "DELETE FROM useronline WHERE tiempo<$timeout") or die("ERROR AL BORRAR");
# definimos y mostramos los datos en la web :D
$resultado=mysql_db_query($dbname, "SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'") or die("ERROR EN SELECT");
$usuario =mysql_num_rows($resultado);
mysql_close();
if ($usuario==1) # en caso de que sea 1 persona.
{
echo"<font size=1>$singular1 $usuario $singular2</font>";
} else { # en caso de que no sea 1 persona.
echo"<font size=1>$plural1 $usuario $plural2</font>";
}
?>luego en nuestro index.php o en el archivo que deseemos lo agregamos con un simple include.
# agregamos usuariosonline.php a nuestra web
include ("./usuariosonline.php");
# claramente muestra que el archivo usuarios online esta en la misma carpeta que el archivo
# debido a que ./ muestra archivos de la carpeta en curso.
espero que les sirva compañeros.
Edit: se me fueron unos espacios lokos xD asi ke lo arregle
Edit2: se me fue cerrar un <font> XDDDD bueno.. pasa

...