Foros del Web » Programando para Internet » PHP »

¿Por qué sólo sale un usuario activo?

Estas en el tema de ¿Por qué sólo sale un usuario activo? en el foro de PHP en Foros del Web. He utilizado el código que aparece en las FAQs de PHP de este foro (muy útiles, por cierto), pero no me funciona. Sólo me sale ...
  #1 (permalink)  
Antiguo 31/10/2003, 18:12
 
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 320
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta ¿Por qué sólo sale un usuario activo?

He utilizado el código que aparece en las FAQs de PHP de este foro (muy útiles, por cierto), pero no me funciona. Sólo me sale un usuario activo, a pesar de que pedí a varios amigos por Messenger que se conectaran, es decir, había cinco conectados y sólo se reflejaba uno, ¿por qué sucede esto?

El código utilizado es el que aparece en esta FAQ: http://www.forosdelweb.com/showthrea...244#post302244 .

Por lo menos ya no me sale el bucle infinito de error que obtenía antes.
  #2 (permalink)  
Antiguo 31/10/2003, 23:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puede ser várias cosas:

1) Tus amigos usan el mismo proxy (ejemplo ADSL de Telefónica que creo que pasan todos por la misma IP o acceden desde una intranet con internet compartida)

2) El código que mecionas usa $REMOTE_ADDR para obtener la "ip" del usuario. Si usas register_globals a OFF en tu php.ini .. ahí debes usar $_SERVER['REMOTE_ADDR']

4) problemas de permisos de escritura al archivo que crea (CHMOD() ..)

Ya que es una FAQ .. siempre puedes contactar con el autor de la FAQ en cuestión (via MP por ejemplo) para explicarle el problema. Si llega a ser un "bug" de esa FAQ .. así se corregirá y si es problema tuyo .. pues que mejor que el autor para contestarte.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 31/10/2003, 23:37
 
Fecha de Ingreso: julio-2003
Mensajes: 154
Antigüedad: 14 años, 5 meses
Puntos: 0
Mira yo ocupo este pequeño scripts funciona sin problemas :

<?
$fin_session = 600;
$arr = file("usuarios.dat");
$contenido = $REMOTE_ADDR.":".time()."\n";
for ( $i = 0 ; $i < sizeof($arr) ; $i++ )
{
$tmp = explode(":",$arr[$i]);
if (( $tmp[0] != $REMOTE_ADDR ) && (( time() - $tmp[1] ) < $fin_session ))
{
$contenido .= $REMOTE_ADDR.":".time()."\n";
}
}
$fp = fopen("usuarios.dat","w");
fputs($fp,$contenido);
fclose($fp);
$array = file("usuarios.dat");
$usuarios = count($array);
echo "<b>Usuarios online :</b> ".$usuarios."";
?>

Espero que te sirva al archivo usuarios.dat tines que darle permisos de escritura.

PLUR
  #4 (permalink)  
Antiguo 01/11/2003, 13:10
 
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 320
Antigüedad: 14 años, 1 mes
Puntos: 0
Muchas gracias a ambos. :)


A Cluster:

1) No era ése el caso.
2) Esto me suena bastante a chino. :S
3) ¿Cómo puedo saber si tengo problemas en los permisos de escritura?


A PokeSpawn:

¿Podrías darme los nombres de los dos ficheros (éste y el que lleva el PHP include)? Es que no tengo ni idea de PHP y si me lo das así a pelo no me entero de nada. Soy un poco torpe en estas lides, ya veis.



Si no encuentro solución aquí, pues ya le enviaré un MP al autor de la FAQ por si me pudiera ayudar. Quizás haya suerte y se pase él por aquí antes.
  #5 (permalink)  
Antiguo 01/11/2003, 17:25
 
Fecha de Ingreso: julio-2003
Mensajes: 154
Antigüedad: 14 años, 5 meses
Puntos: 0
Bueno haber para saber si tines permisos de escritura en tus archivos casi todos los clientes FTP tienen la opcion de CHMOD donde puedes ver si un archivo en particular esta con solo permisos de escritura, lectura o full ....

Ahora para saber si tu servidor tiene register_globals a OFF tines que hacer un archivo PHP que contenga lo siguiente:

Código PHP:
<?PHP 
phpinfo
(); 
?>
hay te mostrara toda la informacion acerca de como esta configurado el servidor y entre toda esa info saldra algo qeu aca alusion alo que dice cluster ...

***********************************************
Por el scripts que te pase da lo mismo como lo llames el archivo php tambien da lo msimo como llames al archivo dat ... pero si quieres seguir el mismo orden que yo el php que utilizaras para incluir lo llamas online.php y el archivo .dat lo llamas usuario.dat .

Para crear el archivo .dat solo tomas notepad y le dices guardar como .... y al vez escoges todos los archivos y hay colocas la extencion que quieras ..... despues subes los dos archivos al servidor al usuarios.dat le das con tu cliente ftp permisos de escritura ..... si ocupas WSftp boton derecho del mouse sobre el archivo seleccionas donde dice chmod (unix) y tiqueas todas las opciones qeu hay salen con eso quedara con permisos 777.

y la forma de utiliazarlo donde quieras que aparesca la info de tus usuarios online hace un include del online.php

Código PHP:
<?php include ("online.php"); ?>

Espero que te sirva
PLUR
  #6 (permalink)  
Antiguo 01/11/2003, 17:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
1) OK
2) .. hazte un phpinfo() y mira el estado de register_globals
3) Ya te hubiera dicho algo PHP tipo "Permiso denegador .. o algo así en el archivo tal.txt " ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 02/11/2003, 10:07
 
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 320
Antigüedad: 14 años, 1 mes
Puntos: 0
Hola a ambos:

Probé el pequeño código de PokeSpawn y me sale esto:

Warning: phpinfo() has been disabled for security reasons in /home/eoscura/www/informacion.php on line 2

Pero no os preocupéis, porque cambié los permisos a 777 y ¡funciona!

Muchísimas gracias, os debo un montón, sin vosotros no habría sido capaz. Gracias, gracias, gracias. :)
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 06:40.