Comunidad PHPeros
Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado 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
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...
-
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']
-
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
-
cada dia te acuestas sabiendo algo nuevo es verdad xD
ahora k lo de usar ".$variable." hay k usarlo no? xDDDDD
-
Si, es recomendable jeje
Saludos!
-
:D mi primer karma xD thx :P
-
:-( 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/
-
:-( 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.