Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: 4rkn63l en 26 Junio 2011, 05:03 am



Título: Problema con inclusion de archivos y clases
Publicado por: 4rkn63l en 26 Junio 2011, 05:03 am
Buenas foros, veran segun veo no tengo ningun error sintactico en estos scripts ya que se ejecuta sin mostrarme ningun tipo de error, sin embargo a pesar de ello al parecer las variables definidas en el archivo que estoy incluyendo no se recocen dentro de la clase, ya que la conexión no se lleva a cabo....lo explicare mejor con los archivos.

Código
  1. //connection_data.php
  2. <?php
  3. $host="localhost";
  4. $user="root";
  5. $pass="mysql";
  6. ?>
  7.  

Código
  1. <?php
  2. require_once('connection_data.php');
  3. echo $host.$user.$pass; // aca si se muestran
  4. class connection
  5. {
  6.  
  7. private $link;
  8.  
  9. public function connect()
  10. {
  11. echo $host.$user.$pass; // aca no se muestran, no se reconocen
  12. $this->link=mysql_connect($host,$user,$pass);
  13. if($this->link==false)
  14. die('Error conectando al servidor '.mysql_error());
  15. return $this->link;
  16. }
  17. public function select_db($db)
  18. {
  19. if(mysql_select_db($db,$this->link)==false)
  20. {
  21. mysql_close($this->link);
  22. die('Error seleccionando la base de datos '.mysql_error());
  23. }
  24. }
  25. }
  26. ?>
  27.  

Código
  1. <?php
  2. require_once('connection_class.php');
  3. $con=new connection();
  4. $con->connect();
  5. $con->select_db();
  6. ?>
  7.  

Cuando llega a la parte de ejecutar $con->select_db() muestra el error que he definido dentro de ese metodo en caso de que falle, lo raro es que solo aca hay error y no cuando intenta conectar, sin embargo he comprobado que el error si esta en que no se reconocen las variables del archivo incluido ya que si sustituyo directamente los valores por los parametros conecta perfectamente.




















Título: Re: Problema con inclusion de archivos y clases
Publicado por: Nakp en 26 Junio 2011, 05:51 am
pon el include de tu clase dentro del metodo connect()


Título: Re: Problema con inclusion de archivos y clases
Publicado por: 4rkn63l en 26 Junio 2011, 10:27 am
Genial, gracias Nakp lo logre solucionar con tu ayuda.


Título: Re: Problema con inclusion de archivos y clases
Publicado por: ~ Yoya ~ en 26 Junio 2011, 15:18 pm
Yo recomendaría que no agregues el require dentro de un método, lo mejor es declarar las variables como globales.

http://www.desarrolloweb.com/articulos/2457.php


Título: Re: Problema con inclusion de archivos y clases
Publicado por: 4rkn63l en 27 Junio 2011, 11:04 am
Gracias por tu recomendacion ~ Yoya ~, me parece bien declarar las variables como globales pues asi las tendria accesibles en todos los metodos. Siempre es bueno saber mas formas de hacer las cosas.  :)