Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/11/2010, 19:16
Avatar de dual3nigma
dual3nigma
Colaborador
 
Fecha de Ingreso: febrero-2010
Ubicación: Ciudad de México
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 122
Respuesta: Problema con herencias entre clases

mmmm pues tendrias que tener el operador "global" en la funcion insertar de la clase derivada:
Código PHP:
Ver original
  1. public function insertar ()
  2.     {
  3.         global $conexion;
  4.        
  5.         parent::con_insersion();
  6.  
  7.         $insertar = "INSERT INTO tbl_acceso (acc_correo, acc_seudonimo, acc_contrasena, id_roll, acc_confirmado, acc_estado, acc_estado_correo) VALUES ($acc_correo, $acc_seudonimo, $acc_contrasena, $id_roll, $acc_confirmado, $acc_estado, $acc_estado_correo)";
  8.        
  9.         $ejecutar = mysql_query($insertar, $conexion);
  10.  
  11.     }

Aunque no veo el punto en realidad de hacer una variable global para la conexion? por que no una variable "protected" que se herede? o si tanto necesitas la variable global (por lo que quieras) pues creo que seria mejor hacer algo asi:
Código PHP:
Ver original
  1. <?php
  2.  
  3. class conexiones  
  4. {
  5.     private $servidor = "localhost";
  6.     private $basededatos = "habitatweb";
  7.     // para realizar insersiones a la base de datos
  8.     private $usuario_insersiones = "root";
  9.     private $contrasena_insersiones = "";
  10.     protected $conexion;
  11.    
  12.     public function __construct() {
  13.         global $conexion;
  14.        
  15.         // Aqui guardas la referencia a la variable global
  16.         $this->conexion = &$conexion;
  17.     }
  18.    
  19.     // Esta funcion se encarga de realizar conexion a la base de datos con el usuario y contraseña de insercion nada mas
  20.     public function con_insersion ()
  21.     {
  22.         $this->conexion = mysql_connect($this->servidor, $this->usuario_insersiones, $this->contrasena_insersiones);
  23.         mysql_select_db($this->basededatos, $this->conexion);    
  24.     }
  25. }
  26.  
  27. class clsTblAcceso extends conexiones
  28. {
  29.     public $acc_correo;
  30.     public $acc_seudonimo;
  31.     public $acc_contrasena;
  32.     private $id_roll;
  33.     private $acc_confirmado = 0;
  34.     private $acc_estado = 1;
  35.     private $acc_estado_correo = 1;
  36.     private $conectar;
  37.    
  38.     public function insertar ()
  39.     {      
  40.         parent::con_insersion();
  41.        
  42.         $insertar = "INSERT INTO tbl_acceso (acc_correo, acc_seudonimo, acc_contrasena, id_roll, acc_confirmado, acc_estado, acc_estado_correo) VALUES ($acc_correo, $acc_seudonimo, $acc_contrasena, $id_roll, $acc_confirmado, $acc_estado, $acc_estado_correo)";
  43.        
  44.         $ejecutar = mysql_query($insertar, $this->conexion);
  45.     }
  46. }