Foros del Web » Programando para Internet » PHP »

Dos dudas teoricas sobre la estructura de mi web

Estas en el tema de Dos dudas teoricas sobre la estructura de mi web en el foro de PHP en Foros del Web. Buenas a todos. Esta vez me dirijo a ustedes con un par de dudas y que no he encontrado una buena explicacion por internet o ...
  #1 (permalink)  
Antiguo 15/05/2012, 05:23
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Dos dudas teoricas sobre la estructura de mi web

Buenas a todos.

Esta vez me dirijo a ustedes con un par de dudas y que no he encontrado una buena explicacion por internet o al menos yo no lo he entendido.

Para empezar quedar claro que soy novato en el tema de las web php, y que mi web es sobre videojuegos y consolas.

La primera duda que tengo es acerca de la estructura de las secciones de la web.

Primeramente hice un archivo index.php donde se incluyen (<?php include("pag.php") ?> todas las secciones de la web (como nav, header, top, footer, etc), hasta ahi todo perfecto.

El problema viene a la hora de llamar una nueva seccion, por ejemplo playstation2 (o cualquier otra), que esta en el menu.php que es donde muestro una serie de enlaces (ps2,wii,xbox...), al hacer clic lo suyo es que cargue el archivo ps2.php en el "cuerpo" de la web, pero me sale la pagina ps2.php de forma independiente (fuera de la plantilla).

La primera pregunta es , como soluciono que cualquieir enlace (dentro de mi web) se cargue dentro del "cuerpo" y mantenga la plantilla (menu, header, footer, sidebar..). He probado a insertar los includes en la pagina ps2.php pero nada da error, ya que las rutas de los includes respecto a ps2.php son distintas que los inclues de index.php.Tambien he probado con cargar de nuevo index.php desde ps2.php. pero se genera un bucle de index, tendria que enviar alguna variable $_POST o $_GET a ps2.php para que cargue las secciones de la plantilla?, no se como se solucionaria esto.

P.D: La web me funciona bien, pero ajena a la plantilla.

La otra gran duda que tengo es el tema de las fichas de los juegos.

Antes de seguir ,decir que tengo toda la informacion en una base de datos bien guardada.

El tema es el siguiente, supongamos que de la seccion ps2, tengo 100 juegos (fichas) y cualquier usuario quiere ver cualquier ficha. La pregunta es, ¿Deberia tener en la carpeta ps2 (ej: plataformas/ps2/juegos) un archivo.php por cada ficha (osea 100 archivos php)? O es mejor que al hacer clic en una ficha este llame a la bbdd (ej: select campos from tablas where nombre=[nombre_juego]), genere solo ese juego, pase la variable por url (web/ps2/juego?=[nombre juego] o web/ps2/juego/nombre juego) y que automaticamente cree la plantilla (antes pasaria por un archivo php "generador" que compruebe la consulta y genere la plantilla).

Cual de las dos formas es la mejor??, por que si tienes 10 juegos en total en la web daria igual la forma, pero si tienes 10000 , hay que crear 10000 archivos?? o es mejor la otra forma, existiria otra forma mas segura?

Muchisimas gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 15/05/2012, 05:30
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Dos dudas teoricas sobre la estructura de mi web

  1. Como tu mismo has dicho, simplemente debes de invocar de nuevo lo que sería header, footer y sidebar, vamos, los elementos de la web, pero cambiando la dirección de donde están.

    Lo mejor que puedes hacer es usar direcciones absolutas en vez de relativas y así te valdrán cada vez que lo pongas en un nuevo documento.

  2. Lo mejor es que el sistema de fichas sea automático, por ello estás usando PHP, sino sería una página hecha en HTML y estática.

    Crea una ficha maestra y que saque los datos de la base de datos, es más cómodo y lo correcto.
  #3 (permalink)  
Antiguo 15/05/2012, 07:48
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Dos dudas teoricas sobre la estructura de mi web

Gracias hasdpk por tu rapida respuesta.

En cuanto al primer punto que dices, he intentado poner en la seccion correspondiente los includes de la plantilla, pero me da error.

Pongo un ejemplo simple:

index.php:

Código PHP:
<html>

<head>
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
<body>

<div id="cuerpo">

<?php include('includes/header.php'); ?>
<?php 
include('includes/nav.php'); ?>

<div id="contenido">

<p> Texto de la parte contenido</p>
</div> 

<?php include('includes/sidebar.php'); ?>
<?php 
include('includes/footer.php'); ?>
</div> 

</body>
</html>


Ahora si pincho en Playstation 2, nav.php me lleva a raiz/ps2/ps2.php

Y me sale esto:



El codigo de ps2.php es el siguiente.

Código PHP:
<html>

<head>
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
<body>

<div id="cuerpo">

<?php include('../includes/header.php'); ?>
<?php 
include('../includes/nav.php'); ?>

<div id="contenido">

<p> Seccion de PS2</p>
</div> 

<?php include('../includes/sidebar.php'); ?>
<?php 
include('../includes/footer.php'); ?>
</div> 

</body>
</html>
*NOTA: Si uso las rutas con un punto "./" todo es error.

Otra forma que he intentado para poner las rutas obsolutas (pero me da error) es algo similar a esto.

Código PHP:
$raiz localhost;
$carpeta $raiz."ps2";
include(
$carpeta."ps2.php"); 
* Localhost por que estoy en local, supongo que en red la raiz sera http:\\www.dominio.com

Pero nada, no se me ocurre como ponerlo. ¿Hay alguna funcion que vaya a la raiz (tipo cd en msdos)?, asi lo almaceno en variable y puedo moverme por carpeta por rutas absolutas.

En cuanto al punto 2, si tenia pensado crear una ficha maestra que las genere todas, pero tengo una duda.

Si yo quiero ver 3 juegos a la vez (abro cada una en una nueva pestaña), se crearian las tres fichas, ya que por cada ficha antes se ha usado "generar.php" para crearlo, se puede usar varias veces"generar.php" al mismo tiempo??.

Gracias.
  #4 (permalink)  
Antiguo 15/05/2012, 12:22
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Dos dudas teoricas sobre la estructura de mi web

  1. En donde tienes el problema es en el contenido que hay en el header, nav, sidebar y footer, si te fijas vas a cargar "/variables/variables.php", entonces en el directorio actual (en donde está ps2.php), no existe la carpeta /variable.

    Solución, usa la dirección absoluta. Para que te resulte más cómodo usa la constante predefinida __DIR__ que contendrá la ruta completa hasta el archivo en donde se invoca.

    Para su uso correcto invócalo en el index.php y crear una constante, así no podrás cambiarlo por error. Un ejemplo:

    Código PHP:
    Ver original
    1. // Creamos la constante PATH con el path del archivo en donde se invocó.
    2. define('PATH', __DIR__);
    3.  
    4. // Devuelve (por ejemplo): C:\xampp\htdocs\forosdelweb
    5. echo PATH;

  2. No te preocupe ya que cada pestaña sería una nueva petición al servidor, por lo tanto cada uno tendrá un contenido distinto. Si te quedas más tranquilo, has una prueba.
  #5 (permalink)  
Antiguo 15/05/2012, 15:42
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Dos dudas teoricas sobre la estructura de mi web

Gracias de nuevo.

En cuento a los errores que carga /variables/variables, me di cuenta antes al leer los codigos de error.

Por otra parte leyendo otros codigos he encontrado una posible solucion (me funciona), esta forma es guardar en variable la raiz.

Código PHP:
<?php $raiz $_SERVER['DOCUMENT_ROOT'];?>
Como siempre sera la misma raiz, lo que hecho es guardarlo en un archivo configuracion.php. Despues en todas las secciones que hago incluyo al principio este archivo.

Código PHP:
<?php include($_SERVER['DOCUMENT_ROOT'].'/dominio/configuracion.php');?>
Y despues uso los include con esa variable.

Código PHP:
<?php include($raiz.'/ps2/ps2.php');?>
Aun asi, creo que la forma que me pones es mas simple y mejor, asi que lo probare mañana.

En cuento a las fichas perfecto que se pueda usar el archivo generar.php varias veces a la vez.

Ya os contare, hasta luego, y gracias.

Etiquetas: estructura, ficha, juegos, ps2, url
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 03:44.