Foros del Web » Programando para Internet » PHP »

ayuda con usuarios online

Estas en el tema de ayuda con usuarios online en el foro de PHP en Foros del Web. miren aqui hise este coigos peor no funciona del todo bien, el error es que el mismo usuario lo pone varias veces pongo aquie l ...
  #1 (permalink)  
Antiguo 28/10/2008, 22:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
ayuda con usuarios online

miren aqui hise este coigos peor no funciona del todo bien, el error es que el mismo usuario lo pone varias veces pongo aquie l codigo

Código PHP:
<? 
include("conectar.php");
$inactivo=300//tiempo en segundos en que un usuario estará inactivo
 
$sql "SELECT * FROM activos";
$result mysql_query($sql) or die (mysql_error());
$row mysql_fetch_array($result);

$ip $_SERVER['REMOTE_ADDR'];

$ano date('Y');
$mes date('m');
$dia date('j');
$hora date('H');
$min date('i');
$sec date('s');

do{
$ano2 $row['ano'];
$mes2 $row['mes'];
$dia2 $row['dia'];
$hora2 $row['hora'];
$min2 $row['min'];
$sec2 $row['sec'];

$time = ($ano 31536000)+($mes 2592000)+($dia 3600)+($min 60)+$sec;
$time2 = ($ano2 31536000)+($mes2 2592000)+($dia2 3600)+($min2 60)+$sec2;

if(
$time $time2) {
$sql_del "UPDATE activos SET activo=1 WHERE ip='$ip'";
mysql_query($sql_del) or die (mysql_error());
}else{
$sql_ac "UPDATE activos SET activo=0 WHERE ip='$ip'";
mysql_query($sql_ac) or die (mysql_error());
}
}while(
$row mysql_fetch_array($result));

$sql_ip "SELECT ip FROM activos";
$result_ip mysql_query($sql_ip) or die (mysql_error());
$row_ip mysql_fetch_array($result_ip);

if(
in_array($ip$row_ip)) {
$sql_up "UPDATE activos SET ano='$ano', mes='$mes', dia='$dia', hora='$hora', min='$min', sec='$sec', activo=0 WHERE ip='$ip'";
mysql_query($sql_up) or die (mysql_error());
}else{
$sql_in "INSERT INTO activos (ip, ano, mes, dia, hora, min, sec, activo) VALUES ('$ip', '$ano', '$mes', '$dia', '$hora', '$min', '$sec', 0)";
mysql_query($sql_in) or die (mysql_error());
}
?>
  #2 (permalink)  
Antiguo 29/10/2008, 02:54
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: ayuda con usuarios online

y donde imprimes los usuarios :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 29/10/2008, 10:48
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
EDIT:

Bueno con este nuevo codigo lo que pasa es que a los inactivos jamas los detecta y pues lo que pone al usuario 2 veces o mas aun no lo he probado pero creo que es minimo.

salu2

Código PHP:
<? 
include("conectar.php");
 
$sql "SELECT * FROM activos WHERE activo=0";
$result mysql_query($sql) or die (mysql_error());
$row mysql_fetch_array($result);

$ip $_SERVER['REMOTE_ADDR'];

$ano date('Y');
$mes date('m');
$dia date('j');
$hora date('H');
$min date('i');
$sec date('s');

do{
if(
$row['ano']>$ano) {
}elseif(
$row['mes']>$mes) {
}elseif(
$row['dia']>$dia) {
}elseif(
$row['ano']<$ano) {
$sql_del "UPDATE activos SET activo=1 WHERE ip='$ip'";
mysql_query($sql_del) or die (mysql_error());
}elseif(
$row['mes']<$mes) {
$sql_del "UPDATE activos SET activo=1 WHERE ip='$ip'";
mysql_query($sql_del) or die (mysql_error());
}elseif(
$row['dia']<$dia) {
$sql_del "UPDATE activos SET activo=1 WHERE ip='$ip'";
mysql_query($sql_del) or die (mysql_error());
}elseif(
$row['hora']>$hora) {
}elseif(
$row['hora']<$hora) {
$sql_del "UPDATE activos SET activo=1 WHERE ip='$ip'";
mysql_query($sql_del) or die (mysql_error());
}elseif(
$row['min']>$min) {
}elseif(
$row['min']<$min) {
$sql_del "UPDATE activos SET activo=1 WHERE ip='$ip'";
mysql_query($sql_del) or die (mysql_error());
}elseif(
$row['sec']>$sec) {
}elseif(
$row['sec']<$sec) {
$sql_del "UPDATE activos SET activo=1 WHERE ip='$ip'";
mysql_query($sql_del) or die (mysql_error());
}
}while(
$row mysql_fetch_array($result));

$sql_ip "SELECT ip FROM activos";
$result_ip mysql_query($sql_ip) or die (mysql_error());
$row_ip mysql_fetch_array($result_ip);

$min += (5);

if(
in_array($ip$row_ip)) {
$sql_up "UPDATE activos SET ano='$ano', mes='$mes', dia='$dia', hora='$hora', min='$min', sec='$sec', activo=0 WHERE ip='$ip'";
mysql_query($sql_up) or die (mysql_error());
}else{
$sql_in "INSERT INTO activos (ip, ano, mes, dia, hora, min, sec, activo) VALUES ('$ip', '$ano', '$mes', '$dia', '$hora', '$min', '$sec', 0)";
mysql_query($sql_in) or die (mysql_error());
}
?>
Edit:
Lo probe una tarde completa y pues si me suige poninedo varias veces la misma ip :P

Última edición por Edig; 29/10/2008 a las 17:19
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.