Ver Mensaje Individual
  #15 (permalink)  
Antiguo 13/06/2008, 15:53
Avatar de chitoso
chitoso
 
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 16 años, 9 meses
Puntos: 5
Exclamación Respuesta: Problema con require('dbconfig.php') en clase MySQLConnect

Bueno, vuelvo con problemas, a ver si alguien sigue atento a este post...

Resulta que lo de enrique funciono. Localmente, todo anda ok.
Ahora, antes de actualizar, subo el sitio a un subdirectorio y lo pruebo a ver como se comporta.

Resulta que me da problemas para loguearme. Luego de un buen rato, me doy cuenta que una de mis clases no esta funcionando correctamente.

Aislé el problema, y esto tan simple no me funciona:

Código PHP:
require_once('config.php');
require_once(
CLASSES.'/Sistema.php');
require_once(
CLASSES.'/Administrator.php');
    
echo 
CLASSES;    //por si acaso: este path da perfectamente.
    
                
$admin = new Administrator();
                
$admin->setUsername('admintest');
                
$admin->load();
                echo 
$admin
Ahora, el resultado al visitar este archivo es:

Código:
/hsphere/local/home2/userxxx/sitio.com/test/classes
NombreUsuario: admintest
Email:
Tel:
Type:
Es decir, la clase la carga bien, porque el path esta correcto, y usa el toString de Administrator.

El load de la clase Admin es
Código PHP:
public function load(){
            
Sistema::getInstance()->loadAdministrator($this);
        } 
Y sistema hace algo asi como:

Código PHP:
public function loadAdministrator(Administrator $p_admin){
            
            
$link MySQLConnect::getInstance();
            
$query "";
            
            if(
$p_admin->getId()!= -1){
                
$query "select id, username, password, email, phone, type
                        from administrators
                        where id = "
.$p_admin->getId();
            }
            else{
                
$query "select id, username, password, email, phone, type
                        from  administrators
                        where username = '"
.$p_admin->getUsername()."'";
            }

            
$result $link->query($query);
            if (
$result == NULL){
                
//error
            
}
            else{
                if (
mysql_num_rows($result) == 1) {

                    while (
$row mysql_fetch_object($result)) {
                        
$p_admin->setId($row->id);
                        
$p_admin->setUsername($row->username);
                        
$p_admin->setPassword($row->password);
                        
$p_admin->setEmail($row->email);
                        
$p_admin->setPhone($row->phone);
                        
$p_admin->setType($row->type);
                    }
                }
            }
        } 
Yo creo que el admin esta yendo al load como por parametro, y cuando vuelve no esta modificado... es raro, ya que en php5 pasa por referencia por defecto, no?

Si no es eso, no se que puede ser...
Agradezco su ayuda mas que nunca, así puedo solucionar esto y actualizar de una vez por todas!