Foros del Web » Programando para Internet » PHP »

Consulta, usando includes para armar sitio

Estas en el tema de Consulta, usando includes para armar sitio en el foro de PHP en Foros del Web. bueno saludos he sido usuario de este foro por un tiempo pero este ese mi primer post. Mi duda es la siguiente, tengo el diseño ...
  #1 (permalink)  
Antiguo 02/01/2009, 14:08
 
Fecha de Ingreso: abril-2008
Mensajes: 4
Antigüedad: 16 años
Puntos: 0
Consulta, usando includes para armar sitio

bueno saludos he sido usuario de este foro por un tiempo pero este ese mi primer post.
Mi duda es la siguiente, tengo el diseño de mi sitio web listo todas las paginas tendran el mismo diseño solo cambia el contenido dependiendo de la seccion entonces he leido en alguna parte que puedo simplificar todo a traves de includes es decir crear dos archivos: header.php y footer.php luego incluirlos en la nueva pagina. un ejemplo:

header.php
Código PHP:
<?php 
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>xxxxxxxx</title>
</head>
<body>
    <div id="page">
        <div id="header"></div>
        <div id="main_area">
            
            <div id="content">'
?>
footer.php
Código PHP:
<?php
echo '</div>
            
            <div id="sidebar"></div>    
            
            <div id="footer"></div>    
        </div>
        
    </div>
</body>
</html>'
;
 
ob_end_flush(); ?>
nueva pagina:
Código PHP:
<?php ob_start(); ?>
    <?php 
        
include('header.php');
        include(
'log_in.php');
        include(
'footer.php');
    
?>
Es esto bueno o traeria algun problema? el hecho de usar echo para imprimir toda la estructura? ocasiona algun problema con los buscadores? necesito saber que es mas recomendable eso mostrado o empezar caca pagina con el mismo codigo html completo?

gracias! espero respuestas
  #2 (permalink)  
Antiguo 02/01/2009, 15:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Consulta, usando includes para armar sitio

Intenta no escribir echo o en su defecto utilizar php donde no lo necesites, ya que se carga mas el servidor, te recomiendo que quites todos esos echos, no es necesario que la otra pagina tenga algo de php para hacerle un include.
Acerca de lo que pregutnas, es mas practico y sencillo hacerlo con includes, aparte de que te ahorras un monton de codigo no tienes que cambiar archivos uno a uno para cambiar algo que aparece en todo el sitio.

Solamente pon antes el <?php ob_start(); ?> despues de los includes, estos siempre deben estar primero que nada, incluso puedes hacer lo siguiente:
En el header pon el ob_start y el include log_in.php y ya en la nueva pagina le pones el include de el header y el footer, nadamas algo quiero señalar aqui, los footer se ejecutan de acuerdo a como estan estructurados, es decir de arriba para abajo y por tanto ahi solo te despliegara el header luego el footer y luego el contenido de tu nueva pagina. El codigo correcto quedaria mas o menos asi:
Código PHP:
<?php include("header.php"); ?>

Contenido de tu pagina

<?php include("footer.php"); ?>
En este caso como necesitas ejecutar el footer hasta el final no importa la regla de el include hasta el principio, igual funcionara asi que no te preocupes.

Suerte y saludos
  #3 (permalink)  
Antiguo 02/01/2009, 15:29
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta, usando includes para armar sitio

Hola towanime, bienvenido al foro!

En primer lugar debes entender una cosa. PHP es un lenguaje de servidor y HTML es un lenguaje de cliente (navegador). La estructura de uno al final no tiene nada que ver con el otro (Si bien uno genera al otro).

A lo que voy es que no importa cómo es que esté estructurado tu código PHP, el código HTML que tu navegador reciba siempre va a ser lo que tú le envíes usando PHP. No importa si es con echos, con includes, con prints o usando búferes. Lo que tus visitantes van a "ver", lo que los buscadores van a ver, lo que le va a dar el aspecto visual a tu sitio, es el código que generes con ese script PHP, y no la forma en la que lo haces.

Es cierto que la forma como está programado un sitio (hablando del servidor) sí tiene mucho que ver, sobretodo con tiepos de carga, pero el diseño HTML del sitio depende exclusivamente de las salidas que tu script PHP produzca.

Por lo tanto, y respondiendo a tu pregunta, el buscador no ve la forma en la que tu generas el sitio. Sólo ve el resultado final. Aquí no hay una forma que sea mejor que otra. Obviamente es más recomendable tener un archivo común que se encargue de generar una cabecera para el sitio (además de realizar procesos comunes en el lado del servidor). Así te facilitas la edición del sitio.

Un saludo,
  #4 (permalink)  
Antiguo 02/01/2009, 15:34
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Consulta, usando includes para armar sitio

muy buena okram :) explicaste lo que me hubiera costado mucho trabajo y me reduje a un "se carga mas el servidor" jaja, con eso que no soy muy bueno explicando xD

Saludos
  #5 (permalink)  
Antiguo 02/01/2009, 17:42
 
Fecha de Ingreso: abril-2008
Mensajes: 4
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Consulta, usando includes para armar sitio

gracias por la ayuda luego de arreglar el header y los include me empezo a dar error con el metodo session_start (al incluir el log_in.php) que lo solucione colocando el ob_start() al principio del header.php, tambien quite los echo y deje el html solo de la siguiente manera:

header.php
Código PHP:
<?php ob_start();?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <link rel="stylesheet" type="text/css" href="styles/style.css" />
</head>
<body>
    <div id="page">
        <div id="header"><img src="img/banner.jpg"  /></div>
        <div id="main_area">
            
            <div id="content">
ahora las paginas nuevas quedarian:
Código PHP:
<?php 
         
include('header.php'); //<--- con el ob_start
              
........contenido............
         include(
'footer.php'); //<---- que incluye al log_in.php y se llama el metodo session_start y al final de la pagina esta el ob_end_flush();
?>
Gracias por la ayuda :D
  #6 (permalink)  
Antiguo 02/01/2009, 17:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Consulta, usando includes para armar sitio

No es necesario capturar todo con ob_start bla bla, lo ideal seria mejorar la logica de tu desarrollo:

Código PHP:
<?php
    
include 'session.php'// Aqui creas la sesion y verificas si el usuario ingreso
    
include 'header.php'// Ya no es necesario ob_start()
    // ............ contenido ...................
    // En cualquiera de tus archivos puedes colocar los datos de sesion
    //    como "bienvenido usuario, bla bla bla"
    //    o el formulario de acceso si es necesario
    
include 'footer.php';
?>
__________________
- León, Guanajuato
- GV-Foto
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 01:23.