Foros del Web » Programando para Internet » PHP »

Problema con el menú

Estas en el tema de Problema con el menú en el foro de PHP en Foros del Web. Hola mi problema es el siguiente: Tengo una página principal que tiene un menú superior. Cuando pulso una pestaña se carga mediante include otra página ...
  #1 (permalink)  
Antiguo 15/10/2009, 02:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Problema con el menú

Hola mi problema es el siguiente:
Tengo una página principal que tiene un menú superior. Cuando pulso una pestaña se carga mediante include otra página que a su vez tiene otro menú, pero esta vez lateral y si pulsu una de las opciones de este menú se tendría que cargar por includeotras páginas. Los includes los cargo de esta manera:

Código PHP:
<?php
    
switch($_GET["servicios"])
    {
        case 
0: include("./servicios/derechocivil.html");break;
        case 
1: include("./servicios/derechomercantil.html");break;
        case 
2: include("./servicios/fiscaltributario.html");break;
        case 
3: include("./servicios/laboral.html");break;
        case 
4: include("./servicios/contabilidad.html");break;
        case 
5: include("./servicios/analisis.html");break;
        case 
6: include("./servicios/formacion.html");break;
    }
?>
La primera opción si me la carga, pero las siguientes me abre la página principal de la web.

En el menu llamo a las distintas partes así:

Código HTML:
<UL class=subNav>
    <LI class=activeChild><A class=active href="#">Servicios por áreas:</A></LI>
    <LI><A href="index.php?servicios=0">Derecho Civil</A></LI>
    <LI><A href="index.php?servicios=1">Derecho Mercantil</A></LI>
    <LI><A href="index.php?servicios=2">Fiscal-Tributario</A></LI>
    <LI><A href="index.php?servicios=3">Laboral</A></LI>
    <LI><A href="index.php?servicios=4">Contabilidad</A></LI>
    <LI><A href="index.php?servicios=5">Análisis Financiero</A></LI>
    <LI><A href="index.php?servicios=6">Escuela de Formación</A></LI>
<UL> 
Que hago mal?
  #2 (permalink)  
Antiguo 15/10/2009, 03:36
Avatar de AnisDelMono  
Fecha de Ingreso: febrero-2007
Ubicación: Pas de la Casa
Mensajes: 247
Antigüedad: 17 años, 2 meses
Puntos: 7
Respuesta: Problema con el menú

Hola

Yo te aconsejaria que no pusieras el include en el propio switch. Guarda el valor de la url en una variable. Ejemplo: $url = "./servicios/derechocivil.html");break;

Luego, ya recorrido el switch haces el include($url);
__________________
=>=>=>=>=>=>=>=>=>=>=>=>=>
¡Disidente!
Frente Popular de Judea, Life of Brian
  #3 (permalink)  
Antiguo 15/10/2009, 03:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con el menú

Ahora he cambiado el código de esta manera:

Código PHP:
<?php
switch($_GET["servicios"])
{
case 
0: include("derechocivil.html");break;
case 
1: include("derechomercantil.html");break;
case 
2: include("fiscaltributario.html");break;
case 
3: include("laboral.html");break;
case 
4: include("contabilidad.html");break;
case 
5: include("analisis.html");break;
case 
6: include("formacion.html");break;
}
?>
y el menu:

Código HTML:
<UL class=subNav>
<LI class=activeChild>Servicios por áreas:</LI>
<LI><A href="./servicios/servicios.php?servicios=0">Derecho Civil</A></LI>
<LI><A href="./servicios/servicios.php?servicios=1">Derecho Mercantil</A></LI>
<LI><A href="./servicios/servicios.php?servicios=2">Fiscal-Tributario</A></LI>
<LI><A href="./servicios/servicios.php?servicios=3">Laboral</A></LI>
<LI><A href="./servicios/servicios.php?servicios=4">Contabilidad</A></LI>
<LI><A href="./servicios/servicios.php?servicios=5">Análisis Financiero</A></LI>
<LI><A href="./servicios/servicios.php?servicios=6">Escuela de Formación</A></LI>
</UL> 
Me carga las distintas secciones pero no en endentro de la página, sino que se pone la página en blanco con la información.
  #4 (permalink)  
Antiguo 15/10/2009, 03:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con el menú

AnisDelMono como sería el ejemplo que me has puesto? :(
  #5 (permalink)  
Antiguo 15/10/2009, 04:10
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con el menú

A ver ANISDELMONO, he puesto la url en una variable y me hace como el ejemplo de arriba, me carga el contenido pero se pone toda la página en blanco.

Código PHP:
<?php
switch($_GET["servicios"])
{
case 
0$url0 ="derechocivil.html"; include($url0);break;
case 
1$url1 ="derechomercantil.html"; include($url1);break;
case 
2$url2 ="fiscaltributario.html"; include($url2);break;
case 
3$url3 ="laboral.html"; include($url3);break;
case 
4$url4 ="contabilidad.html"; include($url4);break;
case 
5$url5 ="analisis.html"; include($url5);break;
case 
6$url6 ="formacion.html"; include($url6);break;
}
?>
  #6 (permalink)  
Antiguo 15/10/2009, 04:28
Avatar de AnisDelMono  
Fecha de Ingreso: febrero-2007
Ubicación: Pas de la Casa
Mensajes: 247
Antigüedad: 17 años, 2 meses
Puntos: 7
Respuesta: Problema con el menú

No. Aparte, creo que deberias poner las comillas simples al valor ('0')

Código PHP:

switch($_GET['servicios'])
{
case 
'0'$url ="derechocivil.html"; break;
case 
'1'$url ="derechomercantil.html"; break;
case 
'2'$url ="fiscaltributario.html";  break;
case 
'3'$url ="laboral.html";  break;
case 
'4'$url ="contabilidad.html";  break;
case 
'5'$url ="analisis.html";  break;
case 
'6'$url ="formacion.html"; break;

//y no estaria de mas que le pongas un default
//default:  $url ="unaurl.html";
}
//y al acabar el switch pones el include
include ($url); 
__________________
=>=>=>=>=>=>=>=>=>=>=>=>=>
¡Disidente!
Frente Popular de Judea, Life of Brian
  #7 (permalink)  
Antiguo 15/10/2009, 05:40
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con el menú

Que va no pirula, abre en otra página en blanco.
  #8 (permalink)  
Antiguo 15/10/2009, 06:04
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 18 años, 11 meses
Puntos: 6
Respuesta: Problema con el menú

Rebobinemos... ¿Qué quieres decir "abre en otra página en blanco"? ¿Cuando haces click sobre cualquier opción del menú, se abre una ventana nueva del navegador? ¿No carga el fichero "include" que corresponde? ....
  #9 (permalink)  
Antiguo 15/10/2009, 08:33
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con el menú

A ver si me explico bien. Tengo una página principal que tiene un menú superior, que cuando se pulsa una pestaña se carga en la página mediante includes otras páginas, hasta ahora todo perfecto.

Lo malo viene cuando en una de las páginas que se cargan, también tiene un menú que también carga mediante include otras páginas. Se carga todo por switch(), el case 0 lo carga bien, osea cuando carga la página. Pero cuando pulsas otras opciónes en vez de cargarse en el switch(), la página principal se quita y en su lugar se carga la página seleccionada.
Así que no se que hacer.
  #10 (permalink)  
Antiguo 16/10/2009, 01:51
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 18 años, 11 meses
Puntos: 6
Respuesta: Problema con el menú

Cita:
Iniciado por oscargr Ver Mensaje
Pero cuando pulsas otras opciónes en vez de cargarse en el switch(), la página principal se quita y en su lugar se carga la página seleccionada.
Así que no se que hacer.
Si te entiendo bien, tienes que incluir el menú en TODAS las páginas. Al saltar a una página, te sustituye TODO el contenido por la nueva. Así, si la nueva página no contiene el menú, este no aparecerá.
  #11 (permalink)  
Antiguo 16/10/2009, 05:05
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con el menú

¿No hay alguna opción que sea "cargar en este include"?
Lo siento soy muy novato
  #12 (permalink)  
Antiguo 16/10/2009, 05:06
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema con el menú

juanfuentes, no me sirve, lo carga en una página en blanco
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:04.