Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/09/2013, 12:23
leonel0327
 
Fecha de Ingreso: septiembre-2012
Ubicación: Puebla Mexico
Mensajes: 26
Antigüedad: 11 años, 7 meses
Puntos: 0
Error en función y clase de conexión

Buen día

Actualmente tengo una funcion y esta creo un objeto de una clase, con sus respectivas funciones, pero simplemente me arroja errores que no estan declaradas las variables.

Código PHP:
function validarUsuario($usernameRecogido$passwordRecogido) {
    
$passwordRecogido sha1($passwordRecogido);
    
$query = ("SELECT idCLIENTES, username, password FROM USUARIOS WHERE username = \"$usernameRecogido\" LIMIT 1");
    
    
$seleccionarUsuario = new conexion($hostname$usuarioDB$passwordDB$database);
    
$usuarioObtenido $seleccionarUsuario->enviarQuery($query);
    return 
$seleccionarUsuario->error;
    if (
$usuarioObtenido == FALSE) {
        return 
false;
    } else {
        return 
true;
        }

En la funcion anterior, puse return $seleccionarUsuario->error porque esta es parte de la clase conexion y me imprime el error suscitado y me dice que las variables $hostname, $usuario, $password $database no estan inicializadas ¿Porque es un objeto y no puede declararse dentro de una funcion? Estas variables estan dentro de un include, y claro si declaro el include 'datos.php';

Que me recomiendan hacer ¿Crear una clase ValidarUsuario extendida de la clase conexion?

De la clase, solo pongo algunos fragmentos, pero la estructura es practicamente la misma

Código PHP:
class conexion {
    private 
$hostname;
    private 
$usuarioDB;
    private 
$passwordDB;
    private 
$database;
    
    private 
$conexion;
    public 
$error;
    
    public function 
__construct($hostname$usuarioDB$passwordDB$database) {
        
$this->hostname $hostname;
        
$this->usuarioDB $usuarioDB;
        
$this->passwordDB $passwordDB;
        
$this->database $database;
        
        if(!
$this->_connect()){
            
$this->error mysql_error();
        }
    }
public function 
enviarQuery($query){
        
$tipo strtoupper(substr($query0,6));
        switch (
$tipo){
            case 
'SELECT':
                
$resultado mysql_query($query$this->conexion);
                if(!
$resultado){
                    
$this->error mysql_error();
                    
// $this->error;
                
}
                else{
                    if(
mysql_num_rows($resultado)==0){
                        return 
false;
                    }
                    else{
                        while(
$f mysql_fetch_assoc($resultado)){
                            
$r[] = $f;
                        }
                        
mysql_free_result($resultado);
                        return 
$r;
                    }
                }
                break; ..

Gracias