Direcciones que apuntan al index

Martita-

He estado mirando por google y he visto un par de codigos, pero la verdad es que no me queda muy claro como hacer para que todos los links de la pagina apunten al index.php y no tenga que poner nada mas en este. A parte de eso, que las direcciones queden como php?id=1 por ejemplo.

A ver si me podeis echar una manita.

Gracias!

oho

#1 con un switch pasandole los parametros de cada caso por GET

index.php

<?php
$seccion = trim($_GET["seccion"]);
?>

<html>
<body>
<div id="menu">
<ul>
<li><a href="index.php">Inicio</a></li>
<li><a href="index.php?seccion=empresa">Empresa</a></li>
<li><a href="index.php?seccion=contacto">Contacto</a></li>
</ul>
</div>

<div id="contenido">
<?php
switch($seccion) {
default:
echo "estamos en inicio";
break;

case "empresa":
echo "estamos en empresa";
break;

case "contacto":
echo "estamos en cotacto";
break;
}
?>
</div>
</body>
</html>
1 respuesta
eXtreM3

Dentro de la etiqueta head pon esto:

<base href="http://www.dominio.com/" />

TODOS los vínculos los cogerá con esa base.

Martita-

Gracias por la ayuda.

Estoy teniendo problemillas con el codigo, aun poniendolo no me sale. En cualquier caso, siempre que quisiera enlazar a una pagina, tendria que crear otro case no? No hay forma de hacerlo para que asigne a los .php una id o algo asi, y sea index.php?id=1 y cosas asi?

Igual es mucho pedir xD.

He conseguido poner los numeros, pero lo que no me acaba de gustar, es que tenga que añadir un caso por cada link a un php que quiera poner en index. Porque imaginaros que hay 500 links :P

1 respuesta
elkaoD

#4 para no hacerlo con el CASE, sino automático:

if ($_POST['id'] >= 0 && $_POST['id'] <= NUM_PAGS)
    require("./paginas/" . $_POST . ".include");

Y ya metes tus diferentes páginas/contenido en /paginas/1.include, 2.include, 3.include, etc. Puedes hacerlo con nombres y tal, pero tienes que tener MUCHO cuidado de validar la entrada (por eso he usado números, más fácil de validar) o restringir el require() sólo a la carpeta páginas (y que no puedan meter rutas como ../../../../etc/passwd)

2 respuestas
Martita-

#5

No he entendido practicamente nada, de hecho, no he entendido el codigo xD.

1 respuesta
Mujiwara

#6 Lo que hace es pasar la variable POST "mayor que 0 o igual" y "menor o igual que NUM_PAGS" y incluye (include/require) (el require es lo mismo que el include solo que si se repite, no lo hace)
Si es algo estético usa el de #2 y te ahorras problemas, si es algo dinámico usa el de #5

Usuarios habituales

  • Mujiwara
  • Martita-
  • elkaoD
  • eXtreM3
  • oho