Foros del Web » Creando para Internet » Diseño web »

No me funcionan las variables globales :(

Estas en el tema de No me funcionan las variables globales :( en el foro de Diseño web en Foros del Web. Hola, estoy trabajando con un php compuesto a su vez por otros dos. El primer php que incluyo contiene funciones generales. variables de configuración, su ...
  #1 (permalink)  
Antiguo 02/02/2009, 07:16
 
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
No me funcionan las variables globales :(

Hola,
estoy trabajando con un php compuesto a su vez por otros dos.
El primer php que incluyo contiene funciones generales. variables de configuración, su creación y asignación de valores. Se llama config.php.

Como necesito que el segundo php varíe según la opción que ha elegido el usuario, lo que hago es incluírlo dinámicamente. Este realiza diversas actividades, interacción con el usuario y procesamiento de los datos que este ingresa. (Supongamos segundo.php, ya que no interesa el nombre).

El problema que tengo es el siguiente:
En config.php tengo declarada una variable $conexion y le asigno una conexión mysql, y también una función que intenta utilizarla.

Código:
/** config.php **/

$con_basica=mysql_connect(DB_HOST,DB_LOGIN,DB_PASSWORD);
mysql_select_db(DB_NAME);

/** más cosas en el medio... */

function usar(){
global $conexion;
$query ="select * from mitabla";
mysql_query($query, $conexion);
...etc
}
Dentro de segundo.php utilizo una función usar() del config.php. En ese punto la función no puede acceder a la conexión, por más que esté el global.
En cambio si antes de hacer la conexión, utilizo la sentencia global $conexion;
si puede accederla...
Es decir:
Código:
/** config.php **/
global $con_basica;
$con_basica=mysql_connect(DB_HOST,DB_LOGIN,DB_PASSWORD);
mysql_select_db(DB_NAME);

/** más cosas en el medio... */

function usar(){
global $conexion;
$query ="select * from mitabla";
mysql_query($query, $conexion);
...etc
}
¿Alguien me puede explicar porqué este comportamiento y si es correcto usarlo así?
Desde ya muchas gracias,

Carolina.-
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 01:23.