Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/07/2010, 12:51
Avatar de sette15
sette15
 
Fecha de Ingreso: noviembre-2007
Ubicación: Rosario, Argentina
Mensajes: 97
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: [Ayuda] include() pasa el valor de las constantes pero no pasa variables.

Gracias por responder, te muestro uno de los archivos, el lng_es.php:

Código:
// Configuración general.
$lng_cfg['nombre'] = 'Español';
$lng_cfg['codigo_iso'] = 'es';
$lng_cfg['unicode'] = 'utf-8';

// Fecha y Hora.
function mostrar_fecha(){
    $dia = array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Sábado');
    $mes = array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto',     'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
    $fecha = $dia[date('w')] . ' ' . date('j') . ' de ' . $mes[date('n')] . ' de ' . date('Y');
	return $fecha;
	unset($dia, $mes);
	}
	
function mostrar_hora(){
		$hora = 'a las ' . date('H:i:s');
		return $hora;
	}

// Textos sueltos.
define(DESCRIPCION, "aca va una descripcion");
define(PALABRAS, "aca van los meta tags");
define(INICIO, 'Inicio');
define(FAQ, 'FAQ');
define(CONTACTO, 'Contacto');
Bueno como se puede ver las variables de la cabecera son las primeras de todas, no creo que estén mal. Otra cosa que me falto aclarar, las constantes de la cabecera en verdad las que se cargan desde este archivo son DESCRIPCION Y PALABRAS, las otras como son generales se cargan desde una base de datos.
Pero más halla de eso, las otras constantes como INICIO, FAQ y CONTACTO que son del menú que también se encuentra en la cabecera (pasa que al código lo corte en </head> pero abajo sigue) se reemplazan correctamente. Y otra cosa mas, cuando hago un llamado de las funciones mostrar_fecha() y mostrar_hora() desde el index.php están se muestran correctamente al igual que las constantes, por lo que acá el problema son solamente las variables.

Este archivo lng_es.php no esta incluido directamente en la cabecera.php sino que pasa por otro archivo (idioma.cfg.php) que es el que se encarga de seleccionar cada idioma según el del navegador, esto lo hice con $_SERVER['HTTP_ACCEPT_LANGUAGE'] y un simple swhitch, así que ahí no creo que este el problema, por otro lado como ya te digo las constantes se cargan y las variables no, así que el archivo se está incluyendo correctamente.
__________________
Salu2