Comunidad de diseño web y desarrollo en internet online

Array, cargar en una Funcion

Citar            
MensajeEscrito el 27 Sep 2012 04:21 am
Hola amigos de cristalab, pues, aqui tengo un problema, o problemon, bueno, tengo una web modular de un script que aportó un usuario, y es de la siguiente forma:

Código PHP :

_header();
call_user_func(getFunc());
footer();


function getFunc(){
global $var, $conexion;

    $secciones = array(
        'about' => array('about.php', 'about', 'Estoy en about'),
      'registro' => array('registro.php', 'registro'),
      'nuevo' => array('login.php', 'login'),
    );

    if(isset($_GET['do']) && !empty($secciones[$_GET['do']])){
        require_once(dirname(__FILE__) . '/php/pages/' .$secciones[$_GET['do']][0]);
        return $secciones[$_GET['do']][1];
    }else
        return 'home';
    

}


como veran esta basado en smf, bueno el problema es el siguiente,
yo quiero cargar $secciones[$_GET['do']][0] en una function:
about.php

funcion about{
echo $secciones[$_GET['do']][0];
}

pero no me lo muestra, bueno, talvez sea imposible de cargar, no lo se, pero si algun experot me desea ayudar, estare agradecido. Saludos

Por reysoft

25 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Sep 2012 12:37 pm
Dentro de la funcion about el supuesto array $secciones no existe.

Si lo has declarado fuera de la función debes tener en cuenta que dentro de la función esa variable no tiene ámbito. O la pasas como parámetros a la función about o la declaras como global dentro de la función.

Código PHP :

funcion about($secciones) {
echo $secciones[$_GET['do']][0];
}

O bíen:

Código PHP :

funcion about() {
global $secciones;
echo $secciones[$_GET['do']][0];
}

La primera forma es mejor desde el punto de vista de las buenas prácticas de programación, pero esto escapa al tema planteado.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Sep 2012 08:30 pm
Gracias por respoder.

Los he probado, pero ninguno me funciono, espero que haya una solución, jeje.

Saludos DriverOP

Por reysoft

25 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Sep 2012 03:49 pm
Sería bueno que te acostumbres a dar más datos y no solo digas "no me funcionó" porque eso no nos ayuda a resolver nada.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.