Ver Mensaje Individual
  #23 (permalink)  
Antiguo 23/05/2012, 06:22
Avatar de SirDuque
SirDuque
 
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Uusarios online

En lo personla realizaria una tabla:

USER | DATETIME
------+-------------
Jorge | 2012-.......
------+-------------

Y despues en todas las paginas.
Código PHP:
<?php
session_start
();
require_once(
'include/functions.php');
if( ! 
/* valido session */ ){
 
goLogin();
}else{
 require (
"config.php")or die( "No se pudo cargar el archivo de conexion");
 
setOnline();
}

// CODIGO HTML

getOnline();
?>
functions.php
Código PHP:
<?php
// funciones globales de mi web
function goLogin(){
 
session_destroy();
 
header"Location: login.php" );
 exit;
}

function 
setOnline(){
 
mysql_query("
    UPDATE tabla SET DATETIME='"
.date()."'
    WHERE USER='"
.$_SESSION['user']."'
 "
)or die( "Fatal error setOnline(): ".mysql_error());
}
function 
getOnline(){
 
$query=mysql_query("
    SELECT USER FROM tabla 
    WHERE 
       DATETIME >= '"
.date('Y-m-d H:i:s',strtotime(date('Y-m-d H:i:s'"-3 minute "))."'
    "
)or die( "Fatal error getOnline(): ".mysql_error());
 while(
$On mysql_fetch_row($query)){
  echo 
$On[0]."<br>\r\n";
 }
}
?>
Claro que vas a tener que mejorar el codigo, ya que lo hice recien xD! y que en la "tabla" no estan los usuarios, vas a tener que Insertarlos a todos, o usar otra tabla y agregarle el DATETIME.

NOTA: recorda poner USER y DATETIME como INDEX

EDITO:

Me di cuenta que estan usando online>(UNIX_TIMESTAMP(NOW())-5*60), solo replazalo en getOnline
__________________
Mono programando!
twitter.com/eguimariano

Última edición por SirDuque; 23/05/2012 a las 06:29