PHP - Estructura de un sitio PHP

   
Vista:

Estructura de un sitio PHP

Publicado por Silvana (1 intervención) el 01/03/2009 13:54:58
Hola, es la primera vez que consulto al foro. Espero puedan ayudarme con este tema.

Estoy armando un sitio. La estructura que definí es la siguiente:
La página index.php, forma parte del esqueleto general del sitio. Tiene al menos 4 partes importantes: ENCABEZADO (superior) | PIE (inferior) | MENU (izquierda) | CONTENIDO (centro). Todo esto está dentro de una estructura de tabla.

Después tengo varios archivos .php, como el home.php, acercade.php, contacto.php, etc. Éstos se van cargando en el index.php, en la parte de CONTENIDO, a traves de la función include de php. Es decir, en función de la navegación del usuario, se van cargando las páginas. La
forma de cargarse es la siguiente:
En el archivo menu.php, cada link a las páginas de contenido, se hacen referencia de la forma:
index.php?pagina= home.php
index.php?pagina= acercade. php
index.php?pagina= contacto. php
...
Es decir, paso el nombre del archivo de tipo contenido, por método GET, a la página index.php.

En el archivo index.php, tomo esa variable pasada por GET, y en la parte de CONTENIDO hago un include($pagina) .

Me pareció que esta forma minimizaba el esfuerzo ante un cambio en la estructura general de la página. Pero no me está convenciendo la forma en que estoy pasando los parámetros del contenido... Además tampoco me gusta cómo se está viendo la URL cuando accedo a los links:
index.php?pagina= acercade. php...

Por favor, me podrían decir si la forma en que estoy estructurando el sitio es la correcta?

Si no lo es, me podrían aconsejar sobre buenas prácticas a la hora de armar la estructura general de un sitio?

Muchísimas gracias por el mínimo aporte que me puedan llegar a brindar!!!

Saludos,
Sil
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Estructura de un sitio PHP

Publicado por marco (3 intervenciones) el 02/03/2009 02:49:39
Hola Sil

Esta practica no es segura, con ese metodo se podrian ejecutar scripts externos y eso no es adecuado. Por ejemplo, index.php?pagina=http://dominio.com/mipagina.php

Algo básico es hacer los enlaces de esta forma:

index.php?pagina=1
index.php?pagina=2
index.php?pagina=3

y para mostrar paginas:

switch($_GET['pagina'])
{
case 1: include('home.php'); break;
case 2: include('acercade.php'); break;
case 3: include('contacto.php'); break;
}

Saludos

Marco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Estructura de un sitio PHP

Publicado por marvin (2 intervenciones) el 26/03/2009 00:45:41
bueno yo tambien soy nuevo en el php pero creo que tu estructura que estas usando esta bien y si lo que quieres es cambiar la forma en que se ve, solo utiliza otros parametros para la variable, ejemplo:

Tu direccion seria la siguiente: index.php?pagina= acercade. php
puedes cambiar pagina por otra variable, por ejemplo; id y el contenido por acerca,
de esta manera te quedaria asi: index.php?id=acerca, o bien usar subdirectorios
por ejemplo un subdirectorio con el nombre de los archivos, de esta manera tu direccion quedaria asi: www.tusitio.com/?id=acerca, lo unico que tienes que hacer es cambiar el valor de las variables y tendras un sin fin de opciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Estructura de un sitio PHP

Publicado por Wizardblack19 (2 intervenciones) el 17/06/2009 23:02:02
Hola Silvana, espero que todavia te sirva esto, pero si no le sirve a los demas usuarios del foro:

Por lo que entiendo tu tienes un sitio web, en php y quieres que se muestren dentro del index.php, como extenciones GET, en este caso lo que tienes que hacer es lo siguiente:

Puedes programar y diseñar tus paginas, por separado, creo que eso ya lo tienes, por ejemplo: home.php, acerca.php, contactenos.php.
Una ves echo eso tenemos que llamarlas desde nuestro index, para es nos servira el siguiente condigo:

<?php
$pagina = GET_[$pagina]; // Esta es nuestra variable cargada con el Get.
//ahora un if, que no dira si la variable esta cargada o no

if ($pagina == ""){ //mostramos el home.php si la variable esta vacia
include (home.php);
}
elseif ($pagina == "acerca"){
//si la variable esta cargada con acerca la mostramos
include (acerca.php);
}
elseif ($pagina == "contactenos"){
//si la variable esta cargada con contactenos la mostramos
include (contactenos.php);
}
?>
Este bloque de condiciones iria en el cuerpo de tu index.

y para cargar la varible desde tu menu.php, seria de la forma que tu lo hiciste:

index.php // te mostrara la pagina home.php
index.php?pagina= acerca // te mostrara acerca de
index.php?pagina= contacto // Te mostrara contactenos

si quieres que te muestre la extencion asi como tenes tu ejemplo:
index.php?pagina= acercade. php

tenes que cargar la variable con: acercade. php en el menu y en el bloque de condiciones cambiar la referencia de esta forma:

elseif ($pagina == "acercade.php"){
//si la variable esta cargada con acerca la mostramos
include (acercade.php);

Espero que te sirva, yo uso una forma un poco mas compleja, para esto, usando varias variables en la url: por ejemplo:

http://www.comunidadescristianas.com/?L=home&id=28

donde L, es la variable de la hoja que muesta, en este caso el home, y id, el numero de articulo que esta mostrando, pero la base es la misma que ya he explicado.

Espero te sirva......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar