Autor Tema: Usuarios Online  (Leído 1931 veces)

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Usuarios Online
« en: 13 de Junio de 2007, 18:14:29 pm »
Hola PHPeros!!

En este nuevo tutorial vais a aprender a crear un contador de usuarios :P Es un tutorial sencillo y muy practico. Vamos a empezar indicando el siguiente codigo:

Código: [Seleccionar]
create table `conectados` (
id int primary key auto_increment,
ip varchar(255) not null,
tiempo varchar(255) not null
);

Con este codigo SQL crearemos una nueva tabla en nuestra base de datos, constará de 3 campos, id, ip y tiempo que contendrán los datos fundamentales para el funcionamiento de nuestro contador de usuarios online :P

<?PHP
// Usuadios Online

function usuarios_online() {
	
// Parametros
	
$limite 15// Minutos
	
$tiempo time();
	
$limite $tiempo-$limite*60;
	
// Comprobaciones
	
$query mysql_query("DELETE FROM `conectados` WHERE `tiempo` < $limite");
	
if (
$query) {
	
	
$query mysql_query("SELECT * FROM `conectados` WHERE ip = &#39;".$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;");
	
	
if (
mysql_num_rows($query) == 0) {
	
	
	
mysql_query("INSERT INTO conectados (ip,tiempo) values (&#39;".$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;, &#39;".$tiempo."&#39;)");
	
	
}
	
	
if (!
$query) {
	
	
	
mysql_query("UPDATE conectados SET tiempo=&#39;$tiempo&#39; WHERE ip=&#39;".$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;");
	
	
}
	
}
	
// Muestreo de Datos
	
$query mysql_query("SELECT ip FROM `conectados`");
	
$conectados mysql_num_rows($query);
	
if (!
$conectados) {
	
	
return 
0;
	
} else {
	
	
return 
$conectados;
	
}
}
?>


Con este codigo PHP definimos la funcion usuarios_online() que devolverá siempre el numero de usuarios online en vuestra web :P ¿Sencillo Verdad?

Para aplicar este código es evidente que debemos conectar a la base de datos, cada uno puede hacerlo como quiera ;).
Aplicamos el codigo:

<? 
// Conexion a la Base de Datos
$conectar mysql_connect("*****","*****","******") or exit("Error: No se ha podido conectar.") ;
mysql_select_db("*******",$conectar) or exit("Error: No existe la base de datos.");
// Fin Conexion
include("funcion.php"); 
?>
<html>
<head>
<title>Usuarios Online: <?=usuarios_online();?></title>
</head>

<body>Usuarios Online: <?=usuarios_online();?></body>
</html>


Si teneis Dudas o sugerencias enviarlas sin dudarlo :P
Resultado - [Ver]
« Última modificación: 13 de Junio de 2007, 19:29:27 pm por naveda »
Por favor, leete las Normas


Comunidad PHPeros

Usuarios Online
« en: 13 de Junio de 2007, 18:14:29 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: Usuarios Online
« Respuesta #1 en: 13 de Junio de 2007, 19:23:02 pm »

	
// Comprobaciones
	
$query mysql_query("DELETE FROM `conectados` WHERE `tiempo` < $limite");
	
if (
query) {


=


	
// Comprobaciones
	
$query mysql_query("DELETE FROM `conectados` WHERE `tiempo` < $limite");
	
if (
$query) {


--------------------------

// Conexion a la Base de Datos
$conectar mysql_connect("*****","*****","******") or exit("Error: No se ha podido conectar.") ;
mysql_select_db("*******",*******) or exit("Error: No existe la base de datos.");


=


// Conexion a la Base de Datos
$conectar mysql_connect("*****","*****","******") or exit("Error: No se ha podido conectar.") ;
mysql_select_db("*******",$conectar) or exit("Error: No existe la base de datos.");


--------------------------------
Eso si no me equivoco

P.D.= Gracias por restar un tanto al contador de foros sin publicidad
« Última modificación: 13 de Junio de 2007, 19:25:17 pm por TLX »
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Usuarios Online
« Respuesta #2 en: 13 de Junio de 2007, 19:28:36 pm »
Gracias por informarme sobre los errores, no los habia visto ;)
Por favor, leete las Normas


Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Usuarios Online
« Respuesta #3 en: 13 de Junio de 2007, 20:29:45 pm »
Muy bueno naveda lo acabo de pillar perfectamente.

Muchisimas gracias ;)

KARMA +
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado Farresito

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 5
  • Sexo: Masculino
  • PimPamTomaC++
    • Ver Perfil
    • Farresito
Re:Usuarios Online
« Respuesta #4 en: 10 de Abril de 2010, 18:21:13 pm »
Lo siento, Naveda, por revivir el tema, pero es que tutoriales así se deben agradecer.

Karma+

Saludos!
“Lo mejor de los booleanos es que si te equivocas estás a un sólo bit de la solución correcta.”

-- Anónimo

"No temo a los ordenadores; lo que temo es quedarme sin ellos"

-- Isaac Asimov