Foros del Web » Programando para Internet » PHP »

Estructurar un website realizado con php

Estas en el tema de Estructurar un website realizado con php en el foro de PHP en Foros del Web. Hola amigos, Necesito ayuda para saber como se puede crear un website utilizando php de modo que en el archivo index.php tenga todos los elementos ...
  #1 (permalink)  
Antiguo 24/08/2009, 14:26
 
Fecha de Ingreso: agosto-2009
Ubicación: $this->home = "BCN";
Mensajes: 9
Antigüedad: 14 años, 8 meses
Puntos: 0
Estructurar un website realizado con php

Hola amigos,
Necesito ayuda para saber como se puede crear un website utilizando php de modo que en el archivo index.php tenga todos los elementos comunes del website, es decir, una sola cabecera, un único menú de navegación y un visor de contenidos en el que se muestren siempre el contenido de los archivos solicitados sin salir del archivo index.php.

Lo he intentado, utilizando un archivo .htaccess y un bloque switch en el archivo index.php que según el link de menú en el que se hace click, muestra en el mismo archivo index.php mediante "includes" un archivo u otro.

Funcionar, me funciona, siempre y cuando no tenga que pasar parámetros de un archivo a otro.
Pues en el momento en que paso parámetros, (el archivo .htaccess es el encargado de traducir la url mediante la sentencia RewriteRule) se me omiten los estilos css y la url se vuelve acumulativa.

Es decir:

enlace a clientes.php con parámetros

clientes/1/ "esto es lo que está en el tag html de hipervinculo"

RewriteRule ^clientes/(.+)/ index.php?go=$1&id=$2 [L] "esto es lo que hay en el archivo .htaccess"

Cuando le doy al enlace html anterior

La url es: clientes/1/
Si inmediatamente después, le doy a otro enlace de clientes como por ejemplo clientes/2/
La url cambia a: clientes/clientes/2/ cuando debería ser clientes/2/.
dando esto un error de archivo no encontrado pues en el archivo .htaccess no está contemplado este tipo de enlace, además se va acumulando a cada clic.
Es decir:
1 clic = clientes/#/
2 clics = clientes/clientes/#/
3 clics = clientes/clientes/clientes/#/
Y así sucesivamente.

Necesito ayuda para este embrollo, he imbertido innumerables horas picando el código, revisándolo, visitando webs de tutoriales y manuales, en foros y no consigo hallar una solución.

¿ Alguién de ustedes se ha encontrado con un problema similar?

¿ Existe algún otro método de hacer un website con una estructura común ?

Muchas gracias por vuestro tiempo
  #2 (permalink)  
Antiguo 24/08/2009, 15:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Estructurar un website realizado con php

Usa la etiqueta <base href=""> para establecer la base de los URLs. Con eso evitas esos problemas con las imagenes o stylesheets.

Por otro lado al escribir tus URLs tienes que comprobar si ya tiene la ruta y en caso de que lo tenga no imprimirla.

Saludos.
  #3 (permalink)  
Antiguo 25/08/2009, 01:45
 
Fecha de Ingreso: agosto-2009
Ubicación: $this->home = "BCN";
Mensajes: 9
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Estructurar un website realizado con php

Ey GatorV,

Gracias por tu aporte, he insertado el <base href="index.php" /> en el <head></head> del mismo index.php.
Pero no conozco el uso de este tag muy a fondo y ahora me da error de archivo no encontrado.
  #4 (permalink)  
Antiguo 25/08/2009, 06:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Estructurar un website realizado con php

Yo uso una estructura similar; no tengo problemas y no necesito configurar htacces. Lo estructuré así:

1.- Mi archivo prinicipal index.php (está la cabecera, menu, cuerpo, contenedor, pié).
2.- Lo dinámico que cambia en función al menú es contenedor por lo que hago include("contenedor.php").
3.- contenedor.php tiene código con switch, así: (icluye lo que corresponde según el parámetro que llega cargado en valor).

<?php
if($valor=="")
$valor=$_GET['valor'];
switch ($valor)
{
case "noticias_listado":
include("noticias_listado.php");
break;
case "eventos_detalle":
include("eventos_detalle.php");
break;
}
?>


4.- la variable valor lo envio desde menu.php así.

<a href="index.php?valor=noticias_listado">Noticias</a>
<a href="index.php?valor=eventos_detalle">Eventos</a>

Como ves siempre llama a index y de acuerdo a la variable valor la información es cargada.

Salu2
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 11:11.