Ver Mensaje Individual
  #19 (permalink)  
Antiguo 20/10/2003, 01:00
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si no es un include, lo que necesitas es una redireccion. Lo puedes hacer con header() (www.php.net/header), siempre que no saques antes nada por el navegador. Algo asi:
Código PHP:
$URL=(array_key_exists($_GET['sec'],$secciones))?$secciones[$_GET['sec']]:'default.php';
header("Location: $URL");
exit; 
En $secciones tienes un array asociativo cuyas claves son los valores que pasas por la URL para seleccionar la seccion, y los valores las URLs a donde redireccionar.

Eso si, tal como esta, no se le pasa ningun parametro ni GET ni POST a la URL redireccionada. Con los GET seria facil, simplemente añadirselos a $URL. Pero para los POST podrias intentar lo que comento en este otro mensaje: http://www.forosdelweb.com/s/msg159122.html . Resumiendolo seria mandar una cabecera de estado distinta a la que envia con header("Location"):
Código PHP:
$URL=(array_key_exists($_GET['sec'],$secciones))?$secciones[$_GET['sec']]:'default.php';
header("HTTP/1.1 307 Temporary Redirect");
header("Location: $URL");
exit; 
Eso si, tiene el problema del mensaje que sacan algunos navegadores.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.