Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2008, 08:44
Avatar de farra
farra
 
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 17 años
Puntos: 20
Exclamación problema con Class

esta es la clase:

Código PHP:

class Usuariosenlinea 

/* 
    * @param string $servidor el host para conectar, usualmente localhost 
    * @param string $basededatos el nombre de la base de datos 
    * @param string $nombredb el nombre de la tabla, preferentemente no editar 
    * @param string $usuario usuario de la base de datos 
    * @param string $pass la contraseña de la base de datos 
*/ 

  
var $servidor 'localhost'
  var  
$basededatos 'db_midb'
  var 
$nombredb =  'enlinea'
  var 
$usuario 'usuario'
  var  
$pass 'pass'
  
## Fin de Conexion ## 
   
   
var $e_rror
  
//Segundos para borrar de la base de datos a los usuarios inactivos 
  
var  $segundos 120
  var 
$ahora =  

    
//CONSTRUCTOR 
    
function Usuariosenlinea() { 

     
$this->recargar(); 

    } 
                     
    function  
cuantos () { 

    return 
$this->ahora

    } 
                     
    function  
enlinea() { 

        if(
$this->ahora  ==  1) { 

    echo 
$this->ahora " Usuario en linea" 
        } 
        else 
        { 
    echo 
$this-> ahora  ." Usuarios en linea"
        } 
         
    } 

        function 
ipreal (){ 

            if (
$real_ip getenv('HTTP_X_FORWARDED_FOR' )){ 
             
                
$explode_real_ip explode","$real_ip); 
                return 
trim $explode_real_ip[0]); 
            } 
            else 
            { 
            return  
getenv ('REMOTE_ADDR'); 
            } 
        } 
         
        function  
error (){ 

        return 
$this->e_rror =  mysql_error (); 

        } 
         
        function 
recargar() { 
             
             
$tiempo_actual  time(); 
            
$tiempo_final =  $tiempo_actual  $this->segundos
             
$ip =  $this->ipreal(); 
    
        @ 
mysql_connect ($this->servidor$this -> usuario$this->pass 
        or die(
'Error al Intentar Conectar con la base de datos ' .$this-> error().'' ); 

        @
mysql_select_db$this->basededatos 
        or die(
'Error Seleccionando la base de datos ' .$this-> error().''); 
         
        
$result =  mysql_query("SELECT ip FROM $this->nombredb WHERE ip='$ip'" 
        or die(
'Error de lectura en la base de datos ' .$this-> error().'' ); 
         
        if(
mysql_num_rows ($result) == ){ 
         
        
mysql_query ("INSERT INTO $this->nombredb VALUES ('$tiempo_actual','$ip','$_SERVER[REQUEST_URI]')" 
        or die( 
'Error al Insertar en la base de datos '.$this-> error(). ''); 
         
        } 
        else 
         
        {         
         
mysql_query"UPDATE $this->nombredb SET timestamp='$tiempo_actual' where ip='$ip'" 
        or die(
'Error al Insertar en la base de datos ' .$this-> error().'' ); 
        } 

        
mysql_query"DELETE FROM $this->nombredb WHERE timestamp < $tiempo_final" 
        or die(
'Error al intentar borrar en la base de datos ' .$this-> error().''); 

         
$result =  mysql_query("SELECT ip FROM $this->nombredb" 
        or die(
'Error de lectura en la base de datos ' .$this-> error().'' ); 
                 
        
$this-> ahora mysql_num_rows ($result); 
              
         
mysql_close(); 
               
        } 



asi la llamo:

Código PHP:
include("class.online.php"); 
$enlinea = new Usuariosenlinea (); 
$enlinea->enlinea(); 

PROBLEMA!

1) tengo un archivo de conexion que cambio la clave todos los meses y no quiero entrar en la class para cambiar ahi tambien como puedo llamar a las variables de conexion para que cuando cambie en ese archivo tambien cambie automatico en mi class?
2) en la pagina donde incluyo esta clase tengo la variable $ID donde esta el id del usuario... quiero que inserte en la base de datos tambien ese ID como hago para llamarlo desde la clase?