Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: MeTaLKaT en 04 de Mayo de 2008, 02:03:24 am

Título: [Tutorial] Contador de Visitas Online (en vivo)
Publicado por: MeTaLKaT en 04 de Mayo de 2008, 02:03:24 am
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
Código: [Seleccionar]
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 :P...
Título: Re: [Tutorial] Contador de Visitas Online (en vivo)
Publicado por: westwest en 04 de Mayo de 2008, 13:38:34 pm
weno no e rebisado el codigo a fondo pero segun veo...
en vez de mysql_db_query es solo mysql_query...
y eso de ($dbname,XX... no lo vi nunca...
para se hace un mysql_select_db
primero almacenas el mysql_connect en una variable ($conectar)
y pones asi mysql_select_db($dbname,$conectar);

en el insert y en los sleect claro te recomiendo k uses '".$tiempo."','".$variable."....
por ultimo $REMOTE_ADDR no existe es $_SERVER['REMOTE_ADDR'] y $PHP_SELF tampoco... es $_SERVER['PHP_SELF']
Título: Re: [Tutorial] Contador de Visitas Online (en vivo)
Publicado por: CarlosRdrz en 04 de Mayo de 2008, 13:48:45 pm
Tambien existe esa funcion westwest :)
http://es.php.net/manual/es/function.mysql-db-query.php

Tambien se puede usar $REMOTE_ADDR y $PHP_SELF, no es la primera vez que lo veo jeje.

Esta bueno el codigo, karma + =)

Saludos
Título: Re: [Tutorial] Contador de Visitas Online (en vivo)
Publicado por: westwest en 04 de Mayo de 2008, 14:05:44 pm
cada dia te acuestas sabiendo algo nuevo es verdad xD
ahora k lo de usar ".$variable." hay k usarlo no? xDDDDD
Título: Re: [Tutorial] Contador de Visitas Online (en vivo)
Publicado por: CarlosRdrz en 04 de Mayo de 2008, 14:11:28 pm
Si, es recomendable jeje

Saludos!
Título: Re: [Tutorial] Contador de Visitas Online (en vivo)
Publicado por: MeTaLKaT en 05 de Mayo de 2008, 00:13:33 am
:D mi primer karma xD thx :P
Título: Re:[Tutorial] Contador de Visitas Online (en vivo)
Publicado por: Javierm777 en 03 de Mayo de 2012, 23:24:06 pm
:-( casi no se nada de esto pero me aferro a aprender, el problema hoy es que me a salido con el mensaje de "error del insert" ¿? como hay k??? xD SALUDOS aka el linck http://www.gargolaz.hostzi.com/Radio/
Título: Re:[Tutorial] Contador de Visitas Online (en vivo)
Publicado por: SoyJoaquin. en 04 de Mayo de 2012, 00:39:07 am
:-( casi no se nada de esto pero me aferro a aprender, el problema hoy es que me a salido con el mensaje de "error del insert" ¿? como hay k??? xD SALUDOS aka el linck http://www.gargolaz.hostzi.com/Radio/

Por ser usuario nuevo, te recomiendo que te pases a leer todas las normas de la comunidad.
Esta prohibido revivir temas con una cierta inactividad, vamos que 4 años es mucho.

Saludos.