Foros del Web » Programando para Internet » PHP »

Armar web con include (muy básico)

Estas en el tema de Armar web con include (muy básico) en el foro de PHP en Foros del Web. Hola todos, tengo una duda sobre PHP; esto es muy básico ya que no manejo PHP. Estoy haciendo una web y quiero dejar el header ...
  #1 (permalink)  
Antiguo 02/10/2007, 12:32
 
Fecha de Ingreso: octubre-2006
Mensajes: 28
Antigüedad: 17 años, 5 meses
Puntos: 0
Armar web con include (muy básico)

Hola todos, tengo una duda sobre PHP; esto es muy básico ya que no manejo PHP.

Estoy haciendo una web y quiero dejar el header y el footer separado del contenido para hacer más simple cualquier cambio en dichas secciones.

El código actual lo tengo de la siguiente forma:

...
<body>

<div id="contenedor">

<div><?php include 'head.inc.php'; ?></div>
...

La web funciona bien; pero quiero saber si debo agregar alguna línea de código extra, ya sea por seguridad o para evitar algún tipo de error de código.

Otro punto que me interesa es como evitar que se visualiza la página head.inc.php, de forma directa ya que sólo incluye la cabecera.

Desde ya muy agradecido por cualquier sugerencia

Saludos y gracias
  #2 (permalink)  
Antiguo 02/10/2007, 12:37
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Armar web con include (muy básico)

Puedes hacerlo con variables:

Código PHP:
$header 'esto es el html del header';
$contenido 'esto es el html del contenido';
$footer 'esto es el html del footer'
Fijate que para cada html puse comilla simple, eso porque para mi es mas facil mantener siempre el html con las dobles comillas y no mezclarlo.

Para imprimirlo puedes hacer esto:

Código PHP:
print $header.$contenido.$footer
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 03/10/2007, 08:16
 
Fecha de Ingreso: octubre-2006
Mensajes: 28
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Armar web con include (muy básico)

Gracias Marvin por tu respuesta, según lo que entiendó toda la info va en la misma web????
Por que lo que pretendo era separar el head y foot del cuerpo.

Otro punto importante que no mencioné es que tengo los botones del menu con estado activo; para saber en que sección de la web se encuentra el usuario (menu está en el head).

Por ejemplo en html, común me funciona pero al separar el head del body; no se como hacer que reconozca el estado activo.


Saludos y gracias
  #4 (permalink)  
Antiguo 03/10/2007, 09:34
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: Armar web con include (muy básico)

No le veo sentido a la aportación de Marvin. Es más, creo que sólo entorpecerías más el código.

En principio con
Código PHP:
<?php include 'head.inc.php'?>
no hay ningún problema de seguridad.

Otra cosa es que no quieras que accedan a head.inc.php directamente. Entonces la cosa cambia.

Podrías poner una variable, y condicionar que se haya escrito antes esta variable para seguir mostrando la página.

Por ejemplo:

En la página donde incluyes:
Código PHP:
$verificacion 1;
include (
'head.inc.php'); 
head.inc.php:

Código PHP:
<?php
if ($verificacion != 1) {
exit (
"No puedes entrar directamente");
}

//El resto del codigo aqui

?>
suerte
  #5 (permalink)  
Antiguo 05/10/2007, 09:50
 
Fecha de Ingreso: octubre-2006
Mensajes: 28
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Armar web con include (muy básico)

Mucas gracias david_M_G, eso es lo que andaba buscando; te pasaste.

Ahora sólo me falta ver el tema del menú activo, ya que quiero que quede activado el botón de la sección de la web en la que me encuentro, por ejemplo si estoy en Home, quede activo ese botón.

Saludos y gracias por la ayuda
  #6 (permalink)  
Antiguo 05/10/2007, 09:59
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: Armar web con include (muy básico)

hola, yo para este asuntico uso el siguiente codigo:
Código PHP:
<?php
$url 
$_SERVER['PHP_SELF'];
if (
$url == '/sitio.com/modulos/header.php') {
    
header('Location: /sitio.com/error.php');
}
?>
asi evito que entren directamente a esa pagina via url

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #7 (permalink)  
Antiguo 05/10/2007, 10:37
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Armar web con include (muy básico)

Cita:
Iniciado por obelix750
Estoy haciendo una web y quiero dejar el header y el footer separado del contenido para hacer más simple cualquier cambio en dichas secciones....
...Otro punto que me interesa es como evitar que se visualiza la página head.inc.php, de forma directa ya que sólo incluye la cabecera.
Cita:
Iniciado por david_M_G
No le veo sentido a la aportación de Marvin. Es más, creo que sólo entorpecerías más el código.
Si no es lo que respondi entonces me retractare.

Si necesitas el codigo en "distintos archivos" y no solo "separado" y ademas necesitas que no lleguen al head directamente puedes hacer esto:

head_foot.php
Código PHP:
<?php

class head_foot{

      function 
head(){
           
$head /*aca todo el contenido del header*/
           
return $head;
      }

      function 
foot(){
           
$foot /*aca todo el contenido del footer*/;
           return 
$foot;
      }

}

?>
Con esto no podran acceder a esta pagina y el head y foot te quedan divididos para cambiarlos cuando quieras (no en distintos archivos pero llamar al header no implica llamar al footer y viceversa).

En tu pagina:
Código PHP:
<?php
//incluyes el archivo
include_once('head_foot.php');
//instancias la clase
$header_foot = new head_foot();
//llamas al header
$header_foot->head();

//aca el contenido de tu pagina

//llamas al footer
$header_foot->foot();

?>
Ahora... como tienes un menu y quieres mantener el dato en el head lo que puedes hacer es enviar la variable que vas a mantener justo en la llamada a la funcion o sea:

Código PHP:
<?php
//incluyes el archivo
include_once('head_foot.php');
//instancias la clase
$header_foot = new head_foot();

//suponiendo que la variable que trae la etapa o la seleccion del menu
//se llama etapa
$etapa $_GET['etapa']; //o $_POST['etapa']

//llamas al header y envias la variable de tu menu
$header_foot->head($etapa);

//aca el contenido de tu pagina

//llamas al footer
$header_foot->foot();

?>
Y en la clase head_foot tomas el valor en la funcion head y lo manejas a tu antojo.
Código PHP:
<?php

class head_foot{

      
//tomas la variable y la manejas a tu gusto
      
function head($etapa){
           
$head /*aca todo el contenido del header*/
           
return $head;
      }

      function 
foot(){
           
$foot /*aca todo el contenido del footer*/;
           return 
$foot;
      }

}

?>
Tambien puedes utilizar la variable en un posible menu del footer.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #8 (permalink)  
Antiguo 09/10/2007, 12:20
 
Fecha de Ingreso: octubre-2006
Mensajes: 28
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Armar web con include (muy básico)

No me queda claro, como hacer que el menu se mantenga activo cuando estoy en alguna de las secciones de la página. (utilizando el include, ya que el menu se encuentra en el head que está separado del body)

Si alguien me puede explicar con manzanitas, estaré muy agradecido

Saludos
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 07:09.