Foros del Web » Programando para Internet » PHP »

Interactuar con BD y Cookies

Estas en el tema de Interactuar con BD y Cookies en el foro de PHP en Foros del Web. Hola amigos. Mira tengo una base de datos en la cual los usuarios se registran y acceden a varias webs. Lo que necesito es que ...
  #1 (permalink)  
Antiguo 10/02/2005, 17:44
 
Fecha de Ingreso: enero-2005
Mensajes: 90
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Interactuar con BD y Cookies

Hola amigos.

Mira tengo una base de datos en la cual los usuarios se registran y acceden a varias webs.
Lo que necesito es que en la web principal me cuente los usarios que estan en estos momentos conectados, pero no los que estan sin registrar sino los que estan registrados.

Alguien sabe que tendria que acer? tengo que cambiar cosas en las cookies? o como debo hacerlo?

Muchas gracias. xD
__________________
Usuario Novato, xD :pensando:
  #2 (permalink)  
Antiguo 10/02/2005, 17:50
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 7 meses
Puntos: 9
Mira, puedes hacer una tabla especial en donde estén los usuarios, y ahí puedes poner los usuarios que están en ese momento en linea (simplemente los tienes que dar de alta en esa tabla, junto con la hora en que están en ese momento en linea).

Tambien create otras lineas como DELETE donde se eliminen en x tiempo.
  #3 (permalink)  
Antiguo 10/02/2005, 18:32
 
Fecha de Ingreso: enero-2005
Mensajes: 90
Antigüedad: 19 años, 2 meses
Puntos: 0
sirve?

hola amigos.

He encontrado este script en desarrolloweb. Creo q me puede servir pero que abria que modificar para que funcionaria bien??

Supongamos que en la base de datos tenga nick y password. Con este script la (ip) supongamos q sea un nick que este registrado.Supongo que tendria que crear dos campos mas uno para fecha y otro para ip osea nick1.
Entonces como hago la comparacion del usuario que entra y que esta registrado para que me cuente que esta dentro d la web.

Código PHP:
<?
////////////////////////////////////////////
//USUARIOS ACTIVOS
//Calcula el numero de usuarios activos
////////////////////////////////////////////

function usuarios_activos()
{
   
//permitimos el uso de la variable portadora del numero ip en nuestra funcion
   
global $REMOTE_ADDR;

   
//asignamos un nombre memotecnico a la variable
   
$ip $REMOTE_ADDR;
   
//definimos el momento actual
   
$ahora time();

   
//conectamos a la base de datos
   //Usad vuestros propios parametros!!
   
$conn mysql_connect($host,$user,$password);
   
mysql_select_db($db,$conn);

   
//actualizamos la tabla
   //borrando los registros de las ip inactivas (24 minutos)
   
$limite $ahora-24*60;
   
$ssql "delete from control_ip where fecha < ".$limite;
   
mysql_query($ssql);

   
//miramos si el ip del visitante existe en nuestra tabla
   
$ssql "select ip, fecha from control_ip where ip = '$ip'";
   
$result mysql_query($ssql);

   
//si existe actualizamos el campo fecha
   
if (mysql_num_rows($result) != 0$ssql "update control_ip set fecha= ".$ahora." where ip = '$ip'";
   
//si no existe insertamos el registro correspondiente a la nueva sesion
   
else $ssql "insert into control_ip (ip, fecha) values ('$ip', $ahora)";

   
//ejecutamos la sentencia sql
   
mysql_query($ssql);

   
//calculamos el numero de sesiones
   
$ssql "select ip from control_ip";
   
$result mysql_query($ssql);
   
$usuarios mysql_num_rows($result);

   
//liberamos memoria
   
mysql_free_result($result);

   
//devolvemos el resultado
   
return $usuarios;
}
?>
Enga un saluldo.
__________________
Usuario Novato, xD :pensando:
  #4 (permalink)  
Antiguo 10/02/2005, 18:37
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 7 meses
Puntos: 9
<?
////////////////////////////////////////////
//USUARIOS ACTIVOS
//Calcula el numero de usuarios activos
////////////////////////////////////////////

function usuarios_activos()
{

$ip = $_COOKIE['nick'];
//definimos el momento actual
$ahora = time();

//conectamos a la base de datos
//Usad vuestros propios parametros!!
$conn = mysql_connect($host,$user,$password);
mysql_select_db($db,$conn);

//actualizamos la tabla
//borrando los registros de las ip inactivas (24 minutos)
$limite = $ahora-24*60;
$ssql = "delete from control_ip where fecha < ".$limite;
mysql_query($ssql);

//miramos si el ip del visitante existe en nuestra tabla
$ssql = "select ip, fecha from control_ip where ip = '$ip'";
$result = mysql_query($ssql);

//si existe actualizamos el campo fecha
if (mysql_num_rows($result) != 0) $ssql = "update control_ip set fecha= ".$ahora." where ip = '$ip'";
//si no existe insertamos el registro correspondiente a la nueva sesion
else $ssql = "insert into control_ip (ip, fecha) values ('$ip', $ahora)";

//ejecutamos la sentencia sql
mysql_query($ssql);

//calculamos el numero de sesiones
$ssql = "select ip from control_ip";
$result = mysql_query($ssql);
$usuarios = mysql_num_rows($result);

//liberamos memoria
mysql_free_result($result);

//devolvemos el resultado
return $usuarios;
}
?>

Solo modificas las primeras lineas
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 08:35.