Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2009, 10:00
bengiss
 
Fecha de Ingreso: junio-2009
Mensajes: 79
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Problema con extend..

Buenos dias amigos, actualmente tengo un problema al aplicar la funcion extend en una clase que nunca me habia pasado, los archivos que tengo son los siguientes:

core.lib.php // Esta libreria incluye todas las clases que voy a usar en la aplicacion.

Código PHP:
require('lib/conn.php');
require(
'lib/login.class.php');
require(
'lib/dbtools.class.php'); 
dbtools.class.php //Clase para gestionar las consultas a la base de datos, les muestro solo la funcion de 'select' pero tiene varias funciones.

Código PHP:
class db_tools {
    var 
$make_errors false//Activa o desactiva los errores en base de datos del sistema
    
var $specialstr=array("    ","\n\r","\n","\r");
    var 
$var_error '';
    var 
$var_sql_error '';
    var 
$var_trans '0';
    
    function 
select_tool($query){
        
$result=mysql_query($query);
        
$res_array=array(); $i 0;
        if (
$result) {
            if (
mysql_num_rows($result) > 0){
                while(
$row=mysql_fetch_array($result)){
                    foreach(
$row as $key=>$value){
                        
$res_array[$i][$key]=$value;
                    }
                    
$i++;
                }
                return 
$res_array;
            }else{
                return 
null;
            }
        }else{
            if (
$make_errors){
                
$this->var_error mysql_error();
                
$this->var_sql_error $this->rewritedata($query);
                
$this->ins_error();
            }else{
                die(
mysql_error()." -> ".$query);
            }
        }
    }

login.class.php //Tiene las funciones relacionadas con el login de usuarios

Código PHP:
class login extends db_tools {
    
    function 
login_user($login_usuarios$password_usuarios){    
        
        
$login_usuarios stripslashes($login_usuarios); //Para proteger de inyecciones SQL
        
$password_usuarios stripslashes($password_usuarios); //Para proteger de inyecciones SQL
        
        
$login_usuarios mysql_real_escape_string($login_usuarios); //Para proteger de inyecciones SQL
        
$password_usuarios mysql_real_escape_string($password_usuarios); //Para proteger de inyecciones SQL
        
        
$Query "SELECT * FROM usuarios WHERE login_usuarios = '$login_usuarios' AND password_usuarios = '$password_usuarios'";
        
        return 
$this->select_tool($Query);
    }    

En mi pagina principal solo tengo un formulario de login y password que, al hacer click en entrar me manda a otra pagina donde compruebo la informacion del usuario con la funcion de la clase login:
Código PHP:
//Objetos
$login = new login;

//Arreglos
$arrLogin $login->login_user($_REQUEST['login_user'], $_REQUEST['password_user']); 
El problema es que apenas entro a la pagina me aparece el siguiente error:

Fatal error: Class 'db_tools' not found in C:\webs\SHOPPING MANAGER\lib\login.class.php on line 7

La linea 7 es la linea donde esta el extend, si copio todas las funciones de la clase dbtools, las pego en la clase de login y quito el extend funciona perfectamente pero en varias aplicaciones que he hecho anteriormente he trabajado de esta forma y no habia tenido problemas

Alguna idea de que pueda estar pasando? Gracias por adelantado!