2012-08-30 33 views
5

Hola soy un novato en php podría ayudarme un poco. Estoy haciendo un sitio web que tiene un menú, lo necesito para que si se hace clic en un enlace como "enlace1", page1.php se cargará en el divisor de la sección principal y si se hace clic en el enlace2, page2.php se cargará en mainSection, etc. todas las páginas: página1, página2, página3, etc. se cargarán en esta única página, dependiendo del enlace en el que se haya hecho clic. ¿Es esto posible? No sé por dónde empezar. Graciasphp comprobar si se ha hecho clic en el enlace

<body> 
     <?php 
      <ul> 
       <li><a href="#" name="link1">link 1</a></li> 
       <li><a href="#" name="link2">link 2</a></li> 
       <li><a href="#" name="link3">link 3</a></li> 
       <li><a href="#" name="link4">link 4</a></li>  
      </ul> 
     ?> 

     <div id="mainSection"> 
      <?php 
     if (link1 == true){ 
      include 'page1.php'; 
     } 
     if (link2 == true){ 
      include 'page2.php'; 
     } 
     if (link3 == true){ 
      include 'page3.php'; 
     } 
     if (link4 == true){ 
      include 'page4.php'; 
     } 
      ?> 
     </div> 
    </body> 
+8

¿Por qué hay etiquetas PHP alrededor del 'ul'? –

+0

¿Por qué no usar Ajax para esto? Mucho más fácil –

Respuesta

1

Aquí hay algo que usted puede comenzar con

<body> 
      <ul> 
       <li><a href="?link=1" name="link1">link 1</a></li> 
       <li><a href="?link=2" name="link2">link 2</a></li> 
       <li><a href="?link=3" name="link3">link 3</a></li> 
       <li><a href="?link=4" name="link4">link 4</a></li>  
      </ul> 

     <div id="mainSection"> 
      <?php 
     $link=$_GET['link']; 
     if ($link == '1'){ 
      include 'page1.php'; 
     } 
     if ($link == '2'){ 
      include 'page2.php'; 
     } 
     if ($link == '3'){ 
      include 'page3.php'; 
     } 
     if ($link == '4'){ 
      include 'page4.php'; 
     } 
      ?> 
     </div> 
    </body> 
+0

@ jidma ohhh Voy a intentarlo y ver si funciona. gracias – user244228

+3

@ user244228 no olvides un else para un valor predeterminado, incluso si no hay un enlace a la página '99', alguien lo intentará. –

+0

@Dagon sí, es correcto –

0

cambiar el formato de sus enlaces a:

<a href="/?1" name="link1">link 1</a>... 

y luego cambia de PHP para:

<?php 
     if ($_SERVER['QUERY_STRING'] == 1){ 
      include 'page1.php'; 
     } 
     if ($_SERVER['QUERY_STRING'] == 2){ 
      include 'page2.php'; 
     } 
     if ($_SERVER['QUERY_STRING'] == 3){ 
      include 'page3.php'; 
     } 
     if ($_SERVER['QUERY_STRING'] == 4){ 
      include 'page4.php'; 
     } 
?> 
+0

Gracias ummm ¿qué quieres decir con QUERY_STRING? lo siento, puedo parecer tonto al decir eso, pero soy realmente nuevo en php todavía – user244228

+2

QUERY_STRING es todo lo que viene después del "?" en la URL (es decir, 1 en el ejemplo anterior) –

2

Además del código de Majid, usted hav e para verificar si el enlace se ha configurado o arroja un error de $ link indefinido.

  • enlace 1
  • enlace 2
  • enlace 3
  • enlace 4

<div id="mainSection"> 
     <?php 
    if(isset($_GET['link'])){ 
    $link=$_GET['link']; 
    if ($link == '1'){ 
     include 'page1.php'; 
    } 
    if ($link == '2'){ 
     include 'page2.php'; 
    } 
    if ($link == '3'){ 
     include 'page3.php'; 
    } 
    if ($link == '4'){ 
     include 'page4.php'; 
    } 
     } ?> 
    </div> 
</body> 
Cuestiones relacionadas