Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2014, 07:15
dieguito12
 
Fecha de Ingreso: agosto-2009
Mensajes: 73
Antigüedad: 14 años, 8 meses
Puntos: 0
Inconveniente switch anidados

Buenos días, estoy con este inconveniente, tengo el siguiente codigo:

Código PHP:
<?php
include ("funciones.php");
if (
verifyuser()){
    
$opcion=$_GET["opcion"];
    switch (
$opcion){
    
    case 
"user":
    echo 
"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3c.org/TR/html4/strict.dtd'>";
    echo 
"<html>
            <head>
                <meta http-equiv='content-type' content='text/html; charset=utf-8' />
                <title>GTD-MASTER</title>
                <meta name='keywords' content='' />
                <meta name='description' content='' />
                <link href='../estilos/estilo.css' rel='stylesheet' type='text/css' />
            </head>
            <body>
                <div id='wrapper'>
                    <div id='container'>
                        <div id='header'>
                            <h2>Mis tareas</h2><img src='../images/bloc2.jpg' width='70' height='70' />
                            <div id='header_right'>"
;
                            
$idPersona $_SESSION['persona_idPersona'];
                            
$user=nombres("SELECT nombres, apellidos FROM persona WHERE idPersona='$idPersona'");
                            echo 
"<h1 align='left' class='tam2'><strong>Bienvenido ";
                            echo 
"</strong></h1>";
                            
error_reporting(E_ERROR E_WARNING E_PARSE);
                            echo 
"<table><tr><td><p>".$user["nombres"]."</p></td>";
                            echo 
"<td><form action='logoff.php'>
                                    <input type='submit' name='salir' value='salir'/>
                                    </form></td></tr></table>"
;
                        
            echo 
"    </div>
                </div>
                <div id='side_left'>
                    <div id='menu'>
                    <h3>Nuevas tareas</h3>
                        <ul>
                            <li><a href='inbox.php?pagina=bandeja'>Bandeja de entrada</a></li>
                        </ul>
                        <ul>
                            <li><a href='inbox.php?pagina=nuevo'>Nueva Tarea</a></li>
                        </ul>
                    
                    <ul>
                        <li><h3>Acciones</h3></li>
                        <li><a href='inbox.php?pagina=archivar'>Archivar</a></li>
                        <li><a href='inbox.php?pagina=resolver'>Resueltas</a></li>
                    </ul>
                    
                    <ul>
                        <li><h3>Organizar</h3></li>
                        <li><a href='inbox.php?pagina=proximo'>Pr&oacute;ximo</a></li>
                        <li><a href='inbox.php?pagina=delegar'>Delegar</a></li>
                        <li><a href='inbox.php?pagina=espera'>En espera</a></li>
                    </ul>
                    <ul>
                        <li><h3><a href='inbox.php?pagina=proyecto'>Proyectos</a></h3></li>
                    </ul>
                    <ul>
                        <li><h3><a href='inbox.php?pagina=eliminados'>Eliminados</a></h3></li>
                    </ul>
                    <ul>
                        <li><a href='inbox.php?pagina=nuevo'>Nueva Tarea</a></li>
                    </ul>
                    </div>
                </div>
                <div id='content'>"
;
                        
$recibe_pagina=$_GET["pagina"];
                        
                        echo 
$recibe_pagina;
                        echo 
$opcion;
                        switch (
$recibe_pagina){ 
                            case 
"bandeja":
                                include (
'bandeja.php'); 
                            break;
                            case 
'archivar':
                                include (
'archivar.php'); 
                            break; 
                            case 
'resolver':
                                include (
'resolver.php'); 
                            break; 
                            case 
'proximo':
                                include (
'proximo.php'); 
                            break; 
                            case 
'delegar':
                                include (
'delegar.php'); 
                            break; 
                            case 
'espera':
                                include (
'espera.php'); 
                            break; 
                            case 
'proyecto':
                                include (
'proyecto.php'); 
                            break; 
                            case 
'eliminados':
                                include (
'eliminados.php'); 
                            break; 
                            case 
'nuevo':
                                include (
'nuevo.php'); 
                            break; 
                            default:
                                include (
'bandeja.php');
                                break;
                        }
                        
                
        echo 
"    </div>
            </div>
        </div>
        <div id='footer'>
            
        </div>
    </body>
</html>"
;
    break;
    case 
"admin":
    echo 
"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3c.org/TR/html4/strict.dtd'>";
    echo 
"<html>
            <head>
                <meta http-equiv='content-type' content='text/html; charset=utf-8' />
                <title>GTD-MASTER</title>
                <meta name='keywords' content='' />
                <meta name='description' content='' />
                <link href='../estilos/estilo.css' rel='stylesheet' type='text/css' />
            </head>
            <body>
                <div id='wrapper'>
                    <div id='container'>
                        <div id='header'>
                            <h2>Mis tareas</h2><img src='../images/bloc2.jpg' width='70' height='70' />
                            <div id='header_right'>"
;
                            
$idPersona $_SESSION['persona_idPersona'];
                            
$user=nombres("SELECT nombres, apellidos FROM persona WHERE idPersona='$idPersona'");
                            echo 
"<p align='left' class='tam2'><strong>Bienvenido ";
                            echo 
"</strong></p>";
                            
error_reporting(E_ERROR E_WARNING E_PARSE);
                            echo 
"<table><tr><td><p>".$user["nombres"]."</p></td>";
                            echo 
"<td><form action='logoff.php'>
                                    <input type='submit' name='salir' value='salir'/>
                                    </form></td></tr></table>"
;
                        
            echo 
"    </div>
                </div>
                <div id='side_left'>
                    <div id='menu'>
                    <h3>Administrador</h3>
                        <ul>
                            <li><a href='inbox.php?pagina=bandeja'>Modificar usuario</a></li>
                        </ul>
                        <ul>
                            <li><a href='inbox.php?pagina=nuevo'>Activar/Desactivar</a></li>
                        </ul>
                    
                    <ul>
                        <li><h3>Reportes</h3></li>
                        <li><a href='inbox.php?pagina=archivar'>Tareas por usuario</a></li>
                        <li><a href='inbox.php?pagina=resolver'>Estadisticas tareas por usuario</a></li>
                    </ul>
                    
                    </div>
                </div>
                <div id='content'>"
;
                     
                        
$recibe_pagina=$_GET['pagina'];
                        switch (
$recibe_pagina){ 
                            case 
'bandeja':
                                include (
'bandeja.php'); 
                            break;
                            case 
'archivar':
                                include (
'archivar.php'); 
                            break; 
                            case 
'resolver':
                                include (
'resolver.php'); 
                            break; 
                            case 
'proximo':
                                include (
'proximo.php'); 
                            break;   
                            case 
'delegar':
                                include (
'delegar.php'); 
                            break; 
                            case 
'espera':
                                include (
'espera.php'); 
                            break; 
                            case 
'proyecto':
                                include (
'proyecto.php'); 
                            break; 
                            case 
'eliminados':
                                include (
'eliminados.php'); 
                            break; 
                            case 
'nuevo':
                                include (
'nuevo.php'); 
                            break; 
                            default:
                                include (
'bandeja.php');
                                break;
                        }
                
        echo 
"    </div>
            </div>
        </div>
        <div id='footer'>
            
        </div>
    </body>
</html>"
;
//break;
default:
    
//header("Location: error2.php");
    
echo"hola1";
    break;
}

}else{
    
header('Location: erro3.php');
}
El cual posee switch anidades, el primer switch opcion viene del login, el mismo trae que tipo de usuario se ha logueado (user o admin) y carga el contenido correspondiente.

El segundo switch $recibe_pagina es un menu el cual utilizo para cargar solamente el contenido de la pagina y no cargar toda la pagina cada vez que se accede en algún lugar.

Problema, el primer switch funciona bien carga el contenido, pero al dar clic en cualquier opcion del menu me dice el siguiente error:

Notice: Undefined index: opcion in /var/www/inbox.php on line 4

Me da para pensar que no está tomando los valores del segundo switch y que intenta cargar el valor pagina en el primer switch.

Desde ya muchas gracias por su ayuda.