Foros del Web » Programando para Internet » PHP »

Parámetros de un Hipervinculo

Estas en el tema de Parámetros de un Hipervinculo en el foro de PHP en Foros del Web. ola a todos, estoy siguiendo un manual de php en www.phpya.com.ar y una de las cosas que mas me interesan son los hipervínculos los de ...
  #1 (permalink)  
Antiguo 25/08/2007, 17:42
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 853
Antigüedad: 12 años, 9 meses
Puntos: 6
Parámetros de un Hipervinculo

ola a todos, estoy siguiendo un manual de php en www.phpya.com.ar y una de las cosas que mas me interesan son los hipervínculos los de este tipo:
pagina2.php?tabla=2
Así, yo necesito crear una Web como esta:
www.habbotools.de
Fíjense que al apretar algún hipervínculo se carga un tabla en el centro de la pagina y eso es lo que quiero hacer yo, yo eso antes lo hacia con iframes pero no quiero usarlos mas

El problema es que en ese manual de php que estoy siguiendo dice muy pero muy poco sobre eso que no me sirve de nada

Adonde puedo aprender eso de los hipervínculos?


Muchas gracias!
  #2 (permalink)  
Antiguo 25/08/2007, 20:06
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.483
Antigüedad: 17 años, 6 meses
Puntos: 2111
Re: Parámetros de un Hipervinculo

Hola manumaf.

Los valores que se pasan después de "?", son variables. En tu ejemplo, tabla sería el nombre de la variable y 2 su valor. Es decir, es como si hicieras esto:
Código PHP:
<?php
$tabla
=2;
?>
Este tipo de variables se pueden recoger mediante $_GET['var'], donde var, es el nombre de la variable, en este caso, sería $_GET['tabla'], que tendría un valor de 2. Así, $_GET['tabla'] sería igual que $tabla. Lo que la primera se pasa por URL y la segunda se declara en el mismo archivo.

Sabiendo esto, para por ejemplo hacer lo que pretendes (se le llama "web modular"), tendrías que mirar el valor de la variable y e incluir (include()) un archivo u otro. Sería como usar iframes, pero sin serlo.

Un ejemplo muy simple que mucha gente usa, sería usarlo mediante switch().
Código PHP:
<?php
// Aquí iría por ejemplo la cabecera y el menú de la web
switch ($_GET['tabla']) {
case 
1: include('inicio.php');
break;
case 
2: include('foro.php');
break;
case 
3: include('libro_visitas.php');
break;
default: include(
'inicio.php');
}
?>
Es parecido a usar condicionales if-then-else. El default, indica que archivo incluir si $_GET['tabla'] no es 1, 2 ó 3, o también, si no está declarado.

Un saludo.
  #3 (permalink)  
Antiguo 25/08/2007, 22:47
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 853
Antigüedad: 12 años, 9 meses
Puntos: 6
Re: Parámetros de un Hipervinculo

Claro ya voy entendiendi y si tengo por ejeplo asi

Código PHP:
<?php
switch($secc){

case 
'seccion1':
include(
"seccion1.php");
break;

case 
'seccion2':
include(
"seccion2.php");
break;

case 
'seccion3':
include(
"seccion3.php");
break;

case 
'seccion4':
include(
"seccion4.php");
break;

default:
include(
"main.php");
break;

}
?>
quiero que al cargar alguno de esos contenidos se carguen dentro de una celda grande como la web que habia mostrado en mi primer mensaje

como ago eso?
  #4 (permalink)  
Antiguo 25/08/2007, 23:01
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.483
Antigüedad: 17 años, 6 meses
Puntos: 2111
Re: Parámetros de un Hipervinculo

No es que al hacer click solo se cargue el contenido en el centro (en la URL que diste digo), se carga la página completamente nueva.

Para hacerlo así, solo tienes que meter el switch en una tabla que se encuentre en el centro de index.php por ejemplo.

Si quieres que el contenido cargue en un cierto sitio SIN tener que recargar la página, tienes que usar AJAX, del que no sé casi nada, pero hay un foro* para ello por aquí donde seguramente te ayudarán.

* Foro de AJAX
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 23:50.