Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2005, 10:12
andreusup
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 20 años
Puntos: 1
Método que devuelva matriz

Hola chic@s,

tengo el siguiente problema. He hecho una clase para la gestión de los usuarios

Código PHP:
class usuBD(){
$idConsulta;
$usu_autentificado = array();
...

 function 
autentificar($usu$pase){
  
$sql="SELECT tl.pase AS pase, tu.nome AS nome, tu.rol AS rol FROM tusuarios AS tu, tlogin AS tl WHERE tl.nick='$user' AND tl.idUsu=tu.idUsu";
  
$this->consulta($sql);

  if(
$this->idConsulta){ // consulta correcta
      
while($userAut mysqli_fetch_assoc($this->idConsulta)){
           if(
$userAut['pase'] == $pass){ // usuario autentificado
                
$this->usu_autentificado('nickUsu' => $user,
                          
'nomeUsu' => $userAut['nome'],
                          
'rolUsu' => $userAut['rol']);

                 return (
$this->usu_autentificado);
      }
          else{ 
// usuario non autentificado
        
return 0;
      }
      }
  }
  else{ 
// consulta incorrecta
   
return 0;
  } 
 }

..


Vale. Entonces en otro archivo aut.php, por ejemplo, hago lo siguiente...
Código PHP:
require_once("lib.php"); // dond tengo definidas las clases
2 $usuario = new usuBD();
3 $usu_autent = array();
4 $usu_autent =
5 $usuario->autentificar($_POST['formLoginNick'],$_POST['formLoginPass']);

7 $_SESION
['nickUsu'] = $usu_autent['nickUsu'];
... 
pero obtengo el siguiente error::

Código PHP:
Fatal errorCannot use object of type mysqli_result as array in loquesea/aut.php on line 7 
Lo que me devuelve es un objeto. No puedo usar $usu_autent['nickUsu']. De acuerdo, pero cómo acceder entonces a los valores?

Una posible solución sería registrar las variables dentro de la clase, pero quiero que el método me devuelva esos 3 valores. Prefiero registrar las variables -si procede- en otro lugar.

Alguna ayuda?

Última edición por andreusup; 02/06/2005 a las 10:41