![Confundido](http://static.forosdelweb.com/fdwtheme/images/smilies/confused.png)
Buenas tardes:
Estoy empezando a trastear rehaciendo una web en POO. Se trata de un pequeño sistema de administración para una asociación, con movimiento el justo, con lo que no es muy grande.
El tema, es que por evitar usar smarty, por parecerme demasiado para lo que necesito, me he puesto a hacer 'includes' y 'requires' como un loco y esto funciona sólo a medias y eso que sólo he empezando con la transformación.
El problema en concreto que estoy teniendo, es que por hacer una clase generadora de menús de navegación (tampoco tengo muy claro por qué, sólo por separarlo de la vista) he hecho una clase que captura de la BBDD los apartados y los 'pinta' en la página a través de un include. Antes de ésto, verifica si existe la '$_SESSION['usuario']' creada en el login. Pues por mucho que ponga en el index más index de todos el 'session_start()', en la comprobación de la $_SESSION para el menú, dice que no existe. Haciendo pruebas:
Código PHP:
print_r($_SESSION)
Bueno, pongo un poco de código, para que veáis el lío que estoy montando y si no os importa, me orientéis un poco.
Muchas gracias de antemano.
Saludos.
index.php
Código PHP:
<?php
session_start();
setlocale(LC_TIME, "es_ES");
require_once ("includes/php/constantes.php");
include_once ('includes/php/pages/index2.php');
?>
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo TITULO_PAGINA ?></title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="<?php echo RUTA_CSS ?>reset.css" />
<link rel="stylesheet" type="text/css" href="<?php echo RUTA_CSS ?>960.css" />
<link rel="stylesheet" type="text/css" href="<?php echo RUTA_CSS ?>admStyles.css" />
<link rel="stylesheet" type="text/css" href="<?php echo RUTA_CSS ?>formularios.css" />
<link rel="stylesheet" type="text/css" href="<?php echo RUTA_CSS ?>jquery-ui_Datepicker.css" />
<link rel="stylesheet" type="text/css" href="<?php echo RUTA_CSS ?>demo_table.css" />
<!-- JS -->
<script type="text/javascript" src="<?php echo RUTA_JS ?>jquery.js"></script>
<script type="text/javascript" src="<?php echo RUTA_JS ?>jquery-ui.js"></script>
<script type="text/javascript" src="<?php echo RUTA_JS ?>jquery.dataTables.js"></script>
<script type="text/javascript" src="<?php echo RUTA_JS ?>jquery.validate.min.js"></script>
<script type="text/javascript" src="<?php echo RUTA_JS ?>jquery.tools.js"></script>
<script type="text/javascript" src="<?php echo RUTA_JS ?>preloadCssImages.js"></script>
<script type="text/javascript" src="<?php echo RUTA_JS ?>fns_jQuery.js"></script>
</head>
<body>
<div id="cp_wrapper">
<div id="cp_general" class="container_12 alpha omega">
<div id="cp_cabecera" class="">
<div id="cp_usuario" class="grid_3 prefix_9">
<p class="nombreUs"><?php echo $_SESSION['usuario']; ?></p>
</div>
</div>
<div class="clear"> </div>
<div id="cp_menuSup" class="">
<?php include(RUTA_MODULOS.'/menu/menuSuperior.php'); ?>
</div>
<div class="clear"> </div>
<div id="cp_contTop"> </div>
<div class="clear"> </div>
<div id="cp_contGral">
<div id="cp_contContenido" class="grid_10 prefix_1">
<?php include(RUTA_PHP.'pages/home.php'); ?>
</div>
<div class="clear"> </div>
</div>
<div class="clear"> </div>
<div id="footer" class="grid_10 prefix_1">
<!--
<table id="men_inferior">
<tr>
</tr>
</table>
-->
</div>
<div class="clear"> </div>
</div> <!-- Final Contenedor (cp_general) -->
<div id="cp_inferior" class=""> </div>
</div>
</body>
</html>
Código PHP:
<?php
require_once 'Menu.class.php';
if(!(@$_SESSION['usuario']) OR ($_SESSION['usuario'] == ''))
{
echo "Menú Superior<br/>";
print_r ($_SESSION);
}else{
$menuSuperior = new Menu();
$resultados=$menuSuperior->getElementosMenu();
print_r($resultados);
}
?>
Código PHP:
<?php
require_once '../../MySQL.class.php';
require_once '../../constantes.php';
class Menu {
var $posicion;
var $db;
var $sql;
function __construct()
{
$this->db = new MySQL();
}
public function getElementosMenu()
{
$this->sql= "select * from tMenu where Tipo = 1 order by idMenu"; //and idPerfilAcceso <= ".$_SESSION['userPerfil']." order by idMenu";
$resultado = $this->db->consulta($this->sql);
$elementos = $this->db->fetch_array($resultado);
return $elementos;
}
}
?>
Código PHP:
[...]
class Login extends Usuario {
private $maxIntentos = 3;
private $numIntentos = 0;
function __construct() {
parent::__construct();
$_SESSION['login'] = false;
$_SESSION['usuario'] = '1';
$_SESSION['contador'] = 0;
$_SESSION['uid'] = 0;
echo $_SESSION['usuario'];
}
[...]