Foros del Web » Programando para Internet » PHP »

Variables en un INCLUDE de php.

Estas en el tema de Variables en un INCLUDE de php. en el foro de PHP en Foros del Web. Hola a todos. Creé un archivo config.php con variables de configuración, por ejemplo: $root = $_SERVER['DOCUMENT_ROOT']; En mi index.php lo incluí asi: include($_SERVER['DOCUMENT_ROOT']."/config.php"); Luego, incluyo ...
  #1 (permalink)  
Antiguo 08/03/2007, 11:30
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 3 meses
Puntos: 2
Variables en un INCLUDE de php.

Hola a todos.

Creé un archivo config.php con variables de configuración, por ejemplo:

$root = $_SERVER['DOCUMENT_ROOT'];

En mi index.php lo incluí asi:

include($_SERVER['DOCUMENT_ROOT']."/config.php");

Luego, incluyo también un archivo que crea la conexión, y en ese archivo uso la varaible $root al momento de conectar a la base.

El problema es que el segundo include no está viendo el valor de $bd, establecido en el archivo de configuración... pero en el trabajo tenemos todo configurado así y funciona!

¿Puede ser por alguna configuración del servidor?

Muchas gracias!
  #2 (permalink)  
Antiguo 08/03/2007, 13:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 3 meses
Puntos: 2
Re: Variables en un INCLUDE de php.

Alguna idea? :)
  #3 (permalink)  
Antiguo 08/03/2007, 13:25
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Variables en un INCLUDE de php.

Algun error q te este reportando o parte de codigo donde crees que q esta el error....

Algo mas especifico para poderte ayudar
__________________

  #4 (permalink)  
Antiguo 08/03/2007, 14:20
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 3 meses
Puntos: 2
Re: Variables en un INCLUDE de php.

Si, mira te muestro códigos:

1) Mi archivo de configuración "config.php"

Código PHP:
<?php

/////////////////////////////////////////////////
// ARCHIVO GENERAL DE CONFIGURACION //
////////////////////////////////////////////////

/* Variables de entorno */
$root_dir $_SERVER['DOCUMENT_ROOT'];
$class_dir $root_dir."/class/";
$ext_dir $root_dir."/ext/";
$script_dir $root_dir."/scripts/";
$img_dir_common $root_dir."/img/common/";

// (...)
?>
Tengo este otro archivo, que sería mi index.php

Código PHP:
<?php

// incluimos el archivo que hace "ECHO" a las variables del config.php

include_once("config.php");
include_once(
$script_dir."script.php");

// ECHO de las vars del config.php

   
echo "LOCAL (index.php)<br/>";
   echo 
"root: ".$root_dir."<br/>";
   echo 
"class: ".$class_dir."<br/>";
   echo 
"extension: ".$ext_dir."<br/>";
   echo 
"script: ".$script_dir."<br/>";
   echo 
"image: ".$img_dir."<br/><hr/>";


// Llamo a la función "show_paths" del script.php
show_paths();
?>
Y finalmente, el script.php

Código PHP:
<?php

function show_paths() {
   echo 
"root: ".$root_dir."<br/>";
   echo 
"class: ".$class_dir."<br/>";
   echo 
"extension: ".$ext_dir."<br/>";
   echo 
"script: ".$script_dir."<br/>";
   echo 
"image: ".$img_dir."<br/>";
}

?>

En conclusión, cuando ejecuto index.php me muestra los echos ejecutados EN EL ARCHIVO INDEX.PHP, pero la función "show_paths" no da ningún resultado.

Yo calculo que debe ser un tema de configuración ya que en mi trabajo lo han configurado de esta forma y funciona.

Muchas gracias y perdon por no poner código de ante mano.

Un saludo muy atento.

Última edición por Computer XTress; 08/03/2007 a las 14:28
  #5 (permalink)  
Antiguo 08/03/2007, 14:42
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Variables en un INCLUDE de php.

Bien, el detalle es sobre el ambito de las variables ( para mejor entendimiento ver aqui ), una solución seria pasar tus variables por referencia: ejem.

Código PHP:
function show_paths($root_dir,$class_dir,$ext_dir,$script_dir,$img_dir) {
   echo 
"root: ".$root_dir."<br/>";
   echo 
"class: ".$class_dir."<br/>";
   echo 
"extension: ".$ext_dir."<br/>";
   echo 
"script: ".$script_dir."<br/>";
   echo 
"image: ".$img_dir."<br/>";

o tambien puede ser asi

Código PHP:
function show_paths() {
  global 
$root_dir,$class_dir,$ext_dir,$script_dir,$img_dir;
   echo 
"root: ".$root_dir."<br/>";
   echo 
"class: ".$class_dir."<br/>";
   echo 
"extension: ".$ext_dir."<br/>";
   echo 
"script: ".$script_dir."<br/>";
   echo 
"image: ".$img_dir."<br/>";


Salud2
__________________

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.