Foros del Web » Programando para Internet » PHP »

Require con variables y echo

Estas en el tema de Require con variables y echo en el foro de PHP en Foros del Web. Hola, tengo un problema... archivo1.php Código PHP: require_once( 'modules/init.php' ); echo  header ();  init.php Código PHP: require_once( 'lang.php' ); require_once ( 'funciones.php' );  lang.php Código PHP: ...
  #1 (permalink)  
Antiguo 17/01/2011, 07:58
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 1 mes
Puntos: 4
Require con variables y echo

Hola, tengo un problema...

archivo1.php
Código PHP:
require_once('modules/init.php');
echo 
header(); 
init.php
Código PHP:
require_once('lang.php');
require_once (
'funciones.php'); 

lang.php
Código PHP:
$es['1'] = "asd"
funciones.php
Código PHP:
header () {
echo 
$es['1'];

Resultado: Nada, tendría que decir "asd" pero toma todo lo que pongo de la funcion y no interpreta la varibla... alguien entiende y sabe cual es el problema?

gracias

PD: PHP no tira ningun error
  #2 (permalink)  
Antiguo 17/01/2011, 08:03
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Require con variables y echo

El problema es que el PHP para que una variable sea global tienes que meterla en el array asociativo $_GLOBALS, es decir, en lang.php poner $_GLOBALS["es"][1]="asd";

U otra alternativa, decirle a la función que $es es una variable que tiene que pillar desde fuera de la función:
header () {
global $es;
echo $es['1'];
}

Lee más acerca del ámbito de las variables en PHP, y cuidado que hacer este tipo de cosas puede ser un poco peligroso y buscar errores puede ser una locura si no se tiene muy claro dónde existen las variables.
  #3 (permalink)  
Antiguo 17/01/2011, 08:07
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Require con variables y echo

Cita:
Iniciado por marlanga Ver Mensaje
El problema es que el PHP para que una variable sea global tienes que meterla en el array asociativo $_GLOBALS, es decir, en lang.php poner $_GLOBALS["es"][1]="asd";

U otra alternativa, decirle a la función que $es es una variable que tiene que pillar desde fuera de la función:
header () {
global $es;
echo $es['1'];
}

Lee más acerca del ámbito de las variables en PHP, y cuidado que hacer este tipo de cosas puede ser un poco peligroso y buscar errores puede ser una locura si no se tiene muy claro dónde existen las variables.
Muchisimas gracias! Sale karma

Cuando decis a peligroso te referis a la seguridad?

Hay alguna forma de declarar global a todas las funciones de un documento con una sola linea?

Última edición por MRB09; 17/01/2011 a las 08:13
  #4 (permalink)  
Antiguo 17/01/2011, 10:16
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Require con variables y echo

No es una buena práctica usar el globals. Pasa los datos o como argumentos o utiliza objetos.

En cuanto a lo de hacerlo todo en una línea, pues yo creo que no se puede. Y si se puede, no debería poderse.

Etiquetas: echo, require, variables
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 04:05.