Foros del Web » Programando para Internet » PHP »

usuarios activos sin DB

Estas en el tema de usuarios activos sin DB en el foro de PHP en Foros del Web. bueno pues esa es mi pregunat cono puedo sabe rlso usuarios que estan en mi pagina con php sin necesidad de base de datos Un ...
  #1 (permalink)  
Antiguo 30/07/2003, 07:45
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
usuarios activos sin DB

bueno pues esa es mi pregunat cono puedo sabe rlso usuarios que estan en mi pagina con php sin necesidad de base de datos


Un Saludo
  #2 (permalink)  
Antiguo 30/07/2003, 07:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Muy sencillo. "Simulando" la base de datos con ficheros. En donde insertabas un registro en la base de datos, inserta una linea en el fichero. Lees del fichero, borras del fichero, ...

Incluso alguna vez me he cruzado con alguna clase o libreria que implementaba una API semejante a la de base de datos, pero trabajando contra ficheros.

Tambien podrias tomar una solucion mas ASPera y "simular" las variables de aplicacion con un fichero. Si no sabes lo que es una variable de aplicacion ASP, es como una sesion que comparten todos los usuarios. Como PHP no tiene un mecanismo semejante (que yo sepa), tambien tendrias que "simularlo" con un fichero.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 30/07/2003, 07:54
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
mmmm... creo que lo hare con un java scripts...jejeje

Un Saludo
  #4 (permalink)  
Antiguo 30/07/2003, 22:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
mmmm... creo que lo hare con un java scripts...jejeje
mm Seguro? .. tal vez decias "Java" y no lo que creo entender: JavaScript ... (del lado del cliente) ..

De todas formas si lo haces (con javascript 0_o ).. ya avisaras..

(Si mal no recuerdo .. en las FAQ's de este foro PHP tienes un ejemplo de usuarios activos sin BD (o sinó en la web de Ferdy: www.ferdyx.org .. o estaba ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 31/07/2003, 02:21
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
haz un fichero que se llame usuarios.dat y le das permiso de esritura y lectura, y ahora haces uno de php vacio y metes este codigo...

-------- fichero= include "online.inc.php"
Código PHP:
<?php
$timewebusr
="480"// Segundos que estara Online despues de desconectar
$archivo="usuarios.dat"//archivo donde almacenarán los usuarios activos
$inactivo=$timewebusr;//cargamos variable de tiempo
$contar=0;
$fp=fopen($archivo,"r");
$tiempo=time();
$contenido=fread($fp,filesize($archivo));
fclose($fp);
$lineas=split("\n",$contenido);
$filas=file($archivo);
for (
$a=0$a sizeof($filas); $a++) {
$datos=split(':',$lineas[$a]);
$descontar=$tiempo-$inactivo;
if (
$datos[0] != $REMOTE_ADDR && $datos[1] > ($descontar)) {
$res.= $datos[0].":".$datos[1]."\n";
$contar++;
}}
$res.="$REMOTE_ADDR:$tiempo\n";
$contar++;
$fp=fopen($archivo,"w");
fwrite ($fp,$res);
fclose($fp);
if (
$contar==1){$contar="<font face=Verdana size=1 color=Yellow>1 </font>";}else{$contar="<font face=Verdana size=1 color=Yellow>$contar</font>";}
echo 
"<center>$contar";
?>
-------- fichero= include "online.inc.php"

ahora para leer esos datos... solo tienes que hacer algo asi.

Código PHP:

include "online.inc.php"
__________________
3w.valenciadjs.com
3w.laislatv.com
  #6 (permalink)  
Antiguo 31/07/2003, 02:21
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
mmmmmm... vale gracias nuevo ahora me di cuenta tanto el tuyo como el de las faq funcionan solo una duda no es del todo real no?¿pro que si tu le marcas cuando el usuarios no estara activo, me equivoco o como va esto?¿

cluster tienes razon me parecio leer por hay que se pudia hacer con javascript pero he mirado mejor y no se puedeee

Un Saludo

Última edición por DINASEN; 31/07/2003 a las 02:43
  #7 (permalink)  
Antiguo 31/07/2003, 02:46
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
hoombre... pues pon a 0 los segundos... solo es eso... yo tengo un poco de tiempo.... ;)
__________________
3w.valenciadjs.com
3w.laislatv.com
  #8 (permalink)  
Antiguo 31/07/2003, 02:49
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
pero no es real, si no tu le marcas el tiepo que quieres que aprezaca el usuario como activo no?¿

Un Saludo
  #9 (permalink)  
Antiguo 31/07/2003, 13:57
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Ese tiempo es de seguridad. Como PHP se ejecuta en el servidor, solo se entera de cuando un usuario solicita una pagina. Pero si el usaurio carga una pagina y se tira 5 minutos leyendola, durante esos 5 minutos PHP no tiene consciencia de que esta haciendo el usuario. Por eso se da cierto tiempo de margen, para los casos en que los usuarios no estas solicitando paginas pero estan de alguna forma "activos" leyendo la pagina.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 31/07/2003, 17:03
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
exacto, yo no lo podia explicar mejor... gracias josemi
__________________
3w.valenciadjs.com
3w.laislatv.com
  #11 (permalink)  
Antiguo 01/08/2003, 00:29
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
Gracias a los dos


Un Saludo
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 18:34.