Foros del Web » Programando para Internet » PHP »

Include con una variable

Estas en el tema de Include con una variable en el foro de PHP en Foros del Web. Hola amigos, estoy empezando en esto del php. Tengo mi web ya creada en html y ahora quiro "dinamizarla". Dentro del html tengo partes que ...
  #1 (permalink)  
Antiguo 11/02/2006, 06:40
 
Fecha de Ingreso: noviembre-2003
Ubicación: España->Madrid
Mensajes: 368
Antigüedad: 20 años, 4 meses
Puntos: 0
Include con una variable

Hola amigos,

estoy empezando en esto del php. Tengo mi web ya creada en html y ahora quiro "dinamizarla". Dentro del html tengo partes que se repite casi al 100%, una y otra vez... una y otra vez... Como por ejemplo el head.

Dentro del head solo tengo una/dos cosas que varían: el title y el css.

Entonces, yo lo que querría sería tener el php que hago include (head.php) ya listo, pero que desde la pagina a la cual incluyo el heeader (index.php x ejemplo) poder pasarle esas dos variables.

Es posible?

Muchas gracias!
  #2 (permalink)  
Antiguo 11/02/2006, 07:53
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Código PHP:
//
//header.php
<?
class cabecera
{
 var 
$titulo;
 var 
$head;
 function 
cabecera($title='')
 {
   
$this->titulo=$title;
 }

 function 
setTitulo$nuevoTitulo)
 {
   
$this->titulo$nuevoTitulo;
 }
  
 function 
getCabecera()
 {
   
$this->head="<html>\n\t<head>\n\t\t<title>"nttt.$this->titulo."\n\t\t</title>\n\t</head>";
   return 
$this->head;
 }

}
?>
//index.php
<?
 
include ('header.php');
 
$cab= new cabecera('titulo de mi pagina');
  
$cab->setTitulo('Otro Titulo para mi pagina')
  echo 
$cab->getCabecera();
?>
//
esta es una idea basica espero te ayude, puedes hacer cosas mejores o mas completas, pero es una manera de iniciar, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #3 (permalink)  
Antiguo 11/02/2006, 12:35
 
Fecha de Ingreso: noviembre-2003
Ubicación: España->Madrid
Mensajes: 368
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola deadlykyo!

Gracias por la respuesta. Creo que no termino de entender bien lo que "significa" ese codigo.

No hay una manera mas "sencilla"? Algo parecido a esto en el archivo index.php. Lo que tendría que ir en el header.php no lo se :p

<?
include("php/header.php");
encabezado();
MiVariable="El texto que yo quiera";
?>

Gracias de todas maneras!
  #4 (permalink)  
Antiguo 11/02/2006, 12:42
Avatar de Keleriano  
Fecha de Ingreso: junio-2002
Ubicación: Granada
Mensajes: 133
Antigüedad: 21 años, 9 meses
Puntos: 0
No se si te entendí bien. ¿Por qué no creas un fichero de configuración (config.php) y metes un array con los distintos ficheros que cargará cada página?
  #5 (permalink)  
Antiguo 11/02/2006, 12:46
 
Fecha de Ingreso: noviembre-2003
Ubicación: España->Madrid
Mensajes: 368
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola Keleriano!

Gracias por tomarte el tiempo de responder. NO entiendo bien lo que me dices.

El fichero header.php que quiero crear, contendría las primeras lineas del index.php (donde declaras el documento, xhtml strict, pones el titulo de la pagina, etc etc...)

Como en mi caso esas lineas son bastantes, pretendí dinamizarlo puesto que también van las etiquetas meta. Lo unico que varía de una página a otra es el titulo de la pagina.

Con esta informacion, me entiendes mejor?

Gracias de nuevo!
  #6 (permalink)  
Antiguo 11/02/2006, 12:54
Avatar de Keleriano  
Fecha de Ingreso: junio-2002
Ubicación: Granada
Mensajes: 133
Antigüedad: 21 años, 9 meses
Puntos: 0
Pues eso, se me ocurre lo siguiente:

Código PHP:


$conf
['index'] = array(
  
'titulo' => 'Portada');

$conf['foro'] = array(
  
'titulo' => 'Foros'); 
accederías mediante $conf[$pagina]['titulo']
Si fueses a abrir la pagina index.php, la salida mostrada sería 'Portada'

No se si me expliqué bien pero es una idea.
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 14:16.