Ver Mensaje Individual
  #7 (permalink)  
Antiguo 18/06/2009, 11:29
Avatar de eddwinpaz
eddwinpaz
 
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años, 2 meses
Puntos: 25
Respuesta: Problema con herencia de un metodo. en PHP se cuelga en 1 funcion

la clase la hice yo desde cero :P

aqui esta la clase completa son 2 clases separadas pero las coloco ahora en 1 solo documento

Código php:
Ver original
  1. <?php
  2.   // llamo la clase de configuracion de la base de datos
  3.   // include('db.class.php');
  4.  
  5.     class clase_db {
  6.    
  7.    public  $id_consulta = "";
  8.    public  $id_conexion = "";
  9.    
  10.    // constructor
  11.    public function __construct(){
  12.    
  13.     $this->servidor    = 'localhost';
  14.     $this->usuario     = 'root';
  15.     $this->clave       = '252245';
  16.     $this->basedatos   = 'db_aplicacion';
  17.  
  18.     // me conecto
  19.     $this->id_conexion = mysql_connect($this->servidor,$this->usuario,$this->clave);
  20.     mysql_select_db($this->basedatos);
  21.    
  22.   }
  23.  
  24.    
  25.     // funcion para realizar una consulta Sql
  26.    public function sql($sql){
  27.    
  28.     return $this->id_consulta = mysql_query($sql) or die('QUERY LEVEL->'.mysql_error());  
  29.    
  30.    }  
  31.    
  32.    // funcion para contar el total de tablas de una consulta
  33.    public function contar_tablas(){
  34.      
  35.      return mysql_num_rows($this->id_consulta) or die('ROW LEVEL->'.mysql_error());
  36.    }
  37.    
  38.    // funcion para retornar los datos en un vector
  39.    public function array_query(){
  40.    
  41.     return mysql_fetch_array($this->id_consulta) or die('ARRAY LEVEL->'.mysql_error());
  42.        
  43.    }
  44.    
  45.  
  46.    
  47.    // Limpiar toda la basura del usuario
  48.    
  49.    public function limpi($str){
  50.      
  51.       $str = addslashes($str);
  52.       $str = htmlentities($str);
  53.       $str = trim($str);
  54.       return $str;
  55.    
  56.    }
  57.    
  58.    // funcion para desconectarnos del servidor
  59.    public function desconectar(){
  60.    
  61.     return mysql_close($this->id_conexion);
  62.    
  63.    }
  64.  
  65. }
  66.  
  67.   // uso los metodos de la clase [clase_db)
  68.   class clase_clientes extends clase_db {
  69.  
  70.    public $id_cliente;
  71.    public $nombre;
  72.    public $apellido;
  73.    public $email;
  74.    public $clave;
  75.    public $telefono;
  76.    public $fecha_nacimiento;
  77.    public $fecha_registrado;
  78.    
  79.    
  80.  
  81.    public function __construct(){
  82.  
  83.         parent::__construct();
  84.  
  85.    }
  86.    
  87.    // iniciar sesion del cliente
  88.     public function login_cliente($email,$clave){
  89.    
  90.  
  91.        $email = $this->limpi($email);
  92.        $clave = $this->limpi($clave);
  93.        
  94.      // $clave = md5($clave);
  95.      
  96.       $sql   = "SELECT id_cliente_datos
  97.                FROM cliente_datos
  98.                WHERE email='$email'
  99.                AND clave='$clave'";
  100.                
  101.                 // hago consulta
  102.        $this->sql($sql);
  103.  
  104.       if($this->contar_tablas() >0){
  105.          
  106.          session_start();
  107.          
  108.          $datos = $this->array_query();
  109.          $_SESSION['id_cliente_datos'] = $datos['id_cliente_datos'];
  110.          
  111.          $this->desconectar();
  112.          
  113.          return true;      
  114.       }
  115.      
  116.       else {
  117.        
  118.        return false;
  119.      
  120.       }
  121.  
  122.  
  123. // fin clase  
  124.   }  
  125.  
  126.   // ejemplo
  127.   $cliente = new clase_clientes;  
  128.   $cliente->login_cliente('[email protected]','caracas');
  129.  
  130.  
  131.  
  132.    
  133. ?>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.