dirigir enlaces a <divs>

-rabocop-

Bueno, mi pregunta es una tonteria creo, pq es algo muy habitual en las paginas webs de hoy en dia, pero yo me he chapado mil tutoriales de css y demas de desarrolloweb.com y no hay puta forma de encontrar lo q busco.

Lo que yo necesito es lo tipico, pagina con un <div> para el menu y otro <div> para el content. COMO COJONES hago para que al pulsar un enlace de menu, aparezca su contenido en la otra div, y no en una pagina en blanco, mandandome a la mierda el menu?

ejemplo grafico:

http://www.colegiorosaliadecastro.com/publicacions/recanto.php

no os austeis, es una web de pruebas, no tengo intencion de publicar eso xD

Muchas gracias ;)

IS4kO

Dentro de la Pagina general, en la q se cargaran las distintas secciones/paginas

<?
if(isset($GET["secc"])) //si la variable seccion que le paso por url trae algún valor
{
$modulo= $
GET["secc"];
}
else //si esta vacia le fuerzo a que tenga el noticias.php
{
$modulo="noticias.php";
}

?>

Los enlaces serán del estilo:

<a href="?secc=Enlace1.php">Enlace1</a>
<a href="?secc=Enlace2.php">Enlace2</a>

Dentro del div pones:

<div>
<? include ("$modulo") ?>
</div>

-rabocop-

si, eso es lo q habia pensado, creo q lo tengo como tu dices.. pero me sigue haciendo lo mismo.

en el link:
<a href="cuerpo.php?num=1"

en el <div>
<? include ("cuerpo.php"); ?>

y en el cuerpo.php

$n = $_GET[num];
if ($n==1) {
echo "ola eres el puto amo esto es el numero 1";
}

pero nada, me sigue apareciendo ese echo en una pagina en blanco

IS4kO

Es que tienes que cargarlo en la misma pagina, y tu en el enlace le estas linkando a cuerpo.php

<a href="cuerpo.php?num=1"

Deberias poner:

<a href="?secc=cuerpo.php&num=1">Num 1</a>

<div>
<? include ("$secc") ?>
</div>

Edit:
ES DECIR:

?paginaquesecargaeneldiv.php&variablequelepasamosaesapagina

-rabocop-

oeoeoe, por fin cojones XD, osea q era todo cuestion de poner el link con el ? delante :D, nice

bueno pues muchas gracias por tu tiempo ;)

osuya13

Pues donde quieras que se visualice has de poner lo siguiente:

<? include ("nombredelcontenido") ?>

Whose

Es mas aconsejable y seguro usar un switch, ya que si no existe el case que pones en la url coge el que viene por defecto y evitas que puedan acceder a archivos de tu web
http://es2.php.net/switch

IS4kO

pero no hace falta un switch para eso, con preguntar si viene o no vacio te vale, ya que si por ejemplo tu metes un ?secc=noexito.php la pagina no será encontrada.

<?
if(isset($GET["secc"]))
{
$modulo= $
GET["secc"];
}
else //si esta vacia le fuerzo a que tenga el PORDEFECTO.php
{
$modulo="PORDEFECTO.php";
}
?>

Con esto yo creo que te ahorras condiciones innecesarias, sobre si existe tal o tal archivo

erdanblo

Usa lo que te dijo Whose, es mucho más seguro usar el switch (Lo digo por pura experiencia.)

Otra cosa, es que crees dos páginas iguales en donde según la página que sea solo cambie lo que es el contenido.

-- Esto solo lo pondria en index.php, en el div que quiere que cambie de contenido --

<?php

if($_GET[url] == "") { echo 'Error 404 de ese, el archivo como que no lo he encontrado :/';
}

swich($_GET[url]) {

case 'inicio':

include "inicio.php";

break;

case 'porno':

include "porno.php";

break;

default:

include "defecto.php";

break;

}

?>

Los enlaces lo haces mediante index.php?url=inicio

En las páginas, inicio.php, porno.php y defecto.php solo deberás colocar el texto que quieras que aparezca.

IS4kO

Pero que diferencia hay entre el switch y la otra forma??, cual es la ventaja de seguridad?

Whose

Cuando en el archivo de las secciones metes el swtich y pinchas en un enlace llamando a ese switch, el archivo recorre el switch buscando un case que coincida con el que hay en la url ?seccion=case y si no lo encuentra se dirige al que hay por defecto.

Si usas un if tienes que complicarte mas para que sea igual de seguro, segun para que lo utilizes te vendra mejor o peor usar el switch, para un control de secciones yo veo mejor usar switch.

Usuarios habituales

  • Whose
  • IS4kO
  • erdanblo
  • osuya13
  • -rabocop-