Ver Mensaje Individual
  #13 (permalink)  
Antiguo 01/02/2013, 19:29
Avatar de ilen
ilen
 
Fecha de Ingreso: febrero-2009
Mensajes: 125
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: PHP variable global en varios archivos

archivo config.php (mirar las 4 ultimas lineas)

Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * Configuracion datos del Server
  4.  * @author Lenin Zapata Ponce
  5.  * @version 1.1
  6.  * @copyright iLen 2013
  7.  * */
  8. error_reporting(E_ERROR | E_WARNING | E_PARSE);
  9. ini_set("display_errors", 1);
  10.  
  11. // configuracion basica de la pagina
  12. define ('SERVER_SERVIDOR',     "localhost");
  13. define ('SERVER_USUARIO',      "aa");
  14. define ('SERVER_PASS',         "aa");
  15. define ('SERVER_BD',           "aa");
  16. // -- -- validar
  17. if(!SERVER_SERVIDOR || !SERVER_USUARIO || !SERVER_PASS || !SERVER_BD)
  18.     define ('CONFIGURACIONES_DB',FALSE);
  19. else
  20.     define ('CONFIGURACIONES_DB',TRUE);
  21.  
  22.    
  23.    
  24.    
  25.    
  26.    
  27.    
  28.    
  29.    
  30.    
  31.  
  32.  
  33. // rutas de acceso a la pagina raiz
  34. define ('SERVER_ROOT',          $_SERVER['DOCUMENT_ROOT']); // /home/usuario/public_html
  35. define ('SERVER_RUTA',          dirname(__FILE__)); // /home/usuario/app
  36. define ('SERVER_RUTA_WEB',      "http://".$_SERVER['SERVER_NAME']);
  37. define ('SERVER_RUTA_WEB2',     "http://".$_SERVER['SERVER_NAME'].'/');
  38. define ('SERVER_IDIOMA_DEFAULT','es'); // ponemos el idioma espaniol por defecto
  39. // -- -- validar
  40. if(!SERVER_ROOT || !SERVER_RUTA || !SERVER_RUTA_WEB || !SERVER_IDIOMA_DEFAULT)
  41.     define ('CONFIGURACIONES_RUTASP',FALSE);
  42. else
  43.     define ('CONFIGURACIONES_RUTASP',TRUE);
  44.    
  45.    
  46.    
  47.    
  48.    
  49.    
  50.  
  51.  
  52.  
  53.  
  54.  
  55. // versiones y notas
  56. define ('SISTEMA_VERSION',      "1.1");
  57. define ('SISTEMA_PROPIETARIO',      "Lenin Zapata P.");
  58. define ('SISTEMA_FECHA_DESARROLLO',      "31/01/13");
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75. // temas y template interno
  76. define ('TEMPLATE_TEMA', "red");
  77. define ('TEMPLATE_RUTA', SERVER_RUTA.'/templates/'.TEMPLATE_TEMA);
  78. // -- -- validar
  79. if(!TEMPLATE_TEMA || !TEMPLATE_RUTA)
  80.     define ('CONFIGURACIONES_RUTAS_TEMPLATE_INTERNO',FALSE);
  81. else
  82.     define ('CONFIGURACIONES_RUTAS_TEMPLATE_INTERNO',TRUE);
  83.  
  84.    
  85.    
  86.    
  87.    
  88.    
  89.    
  90.    
  91.    
  92.    
  93.    
  94.    
  95.    
  96.    
  97.    
  98.    
  99. // temas y template acceso publico
  100. define ('TEMPLATE_PUBLIC_IMG',      SERVER_RUTA_WEB.'images/');
  101. define ('TEMPLATE_PUBLIC_JS',       SERVER_RUTA_WEB.'js/');
  102. define ('TEMPLATE_PUBLIC_LOGO',     TEMPLATE_PUBLIC_IMG.'logo.jpg');
  103. // -- -- validar
  104. if(!TEMPLATE_PUBLIC_IMG || !TEMPLATE_PUBLIC_JS)
  105.     define ('CONFIGURACIONES_RUTAS_FILES_PUBLIC',FALSE);
  106. else
  107.     define ('CONFIGURACIONES_RUTAS_FILES_PUBLIC',TRUE);
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126. // uploads
  127. define ('SISTEMA_RUTA_UPLOADS', 'uploads/'); // raiz
  128. define ('SISTEMA_RUTA_UPLOADS_AVATAR', SISTEMA_RUTA_UPLOADS.'avatar/'); // avatar
  129.  
  130. // rutas internas del sistema del nucleo
  131. define ('RUTA_CONFIG',SERVER_RUTA.'/core/');
  132. define ('RUTA_LIB',   SERVER_RUTA.'/lib/');
  133. define ('RUTA_CLASS',     SERVER_RUTA.'/class/');
  134. define ('RUTA_FUN',   SERVER_RUTA.'/functions/');
  135. define ('RUTA_LAN',   SERVER_RUTA.'/language/');
  136.  
  137. // CONSTANTES DEL SISTEMA
  138. include RUTA_CONFIG."constants.php";
  139.  
  140. // INICIALIZA FUNCIONALIDADES GLOBALES NECESARIAS PARA EL
  141. // FUNCIONAMIENTO, ES EL NUCLEO PARA QUE TODO RUEDE
  142.  
  143. include RUTA_CONFIG."session.php";
  144. include RUTA_CONFIG."pages.php";
  145. include RUTA_CONFIG."db.php";
  146. include RUTA_CONFIG."theme.php";
  147. ?>


archivo session.php

Código PHP:
Ver original
  1. <?
  2.  
  3. /**
  4.  * Clase de SESION, General
  5.  * @author Lenin Zapata Ponce
  6.  * @version 1.1
  7.  * @copyright iLen 2013
  8.  * */
  9.  
  10. class session{
  11.  
  12.         public function IniciaSesion(){
  13.             $_SESSION["login"] = 1;
  14.         }
  15.  
  16.  
  17.         // sesiones de array
  18.         function _setA($nombre_localidad,$nombre_array,$valor){
  19.             $_SESSION[$nombre_localidad][$nombre_array] = $valor;
  20.         }
  21.        
  22.         function _set($nombre_variable,$valor){
  23.             $_SESSION[$nombre_variable] = $valor;
  24.         }
  25.  
  26.         function _getA($nombre_localidad,$nombre_array){
  27.             if(isset($_SESSION[$nombre_localidad][$nombre_array])){
  28.                 return $_SESSION[$nombre_localidad][$nombre_array];
  29.             }else{
  30.                 return false;
  31.             }
  32.         }
  33.  
  34.         function _get($nombre_variable){
  35.             if(isset($_SESSION[$nombre_variable])){
  36.                 return $_SESSION[$nombre_variable];
  37.             }else{
  38.                 return "";
  39.             }
  40.         }
  41.  
  42.         function borrar($nombre_variable){
  43.             $_SESSION[$nombre_variable] = null;
  44.             unset($_SESSION[$nombre_variable]);
  45.         }
  46.  
  47.         function destruirSession(){
  48.             $_SESSION = array(); // destruye todas la variables de la sesion
  49.             unset($_SESSION);
  50.             session_destroy();
  51.         }
  52.  
  53.         function siConectado(){
  54.             //var_dump($_SESSION);
  55.             if($_SESSION["login"]==1)
  56.                 return true;
  57.             else
  58.                 return false;
  59.         }
  60.  
  61.         function ver(){
  62.             print_r($_SESSION);
  63.         }
  64.  
  65. }
  66.  
  67. global $SESSION;
  68. $SESSION = new session();
  69. ?>

archivo pages.php
Código PHP:
Ver original
  1. <?php
  2.     global $SYSTEMA_VAR;
  3.    
  4.     if($SESSION->_get("login")==1){  // ** AQUI ME MANDA ERRROR EN LOCAL **//
  5.         $SYSTEMA_VAR["PAGINAS"] = array("home"=>"class.home.php",
  6.                                         "404" =>"");
  7.     }elseif($SESSION->_get("login")==0){
  8.         $SYSTEMA_VAR["PAGINAS"] = array("home"=>"class.home.php",
  9.                                         "404" =>"");
  10.     }
  11. ?>


y me manda este error:

Fatal error: Call to a member function _get() on a non-object in C:\wamp\app\core\pages.php on line 5

osea la variable $SESSION ya fue inicializada en su propio archivo y es global entonces en el segundo archivo pages.php deberia coger oero no lo hace en local, pero en host real todo bien...