include() en php

edu
04 de Abril del 2006
Hola a todos!
Me gustaria saber como funciona el include() en php, ya que he leido el manual de esta pagina sobre este tema y no consigo hacerlo. ¿En qué parte del codigo meto la sentencia? ¿me tengo que crear un fichero aparte con la cabecera y con qué extensión? Haber si podeis aclararmelo que estoy un poco perdido.
Gracias.


MC
04 de Abril del 2006
Te voy a poner un ejemplo,que es lo mejor para aprender.

Imagínate que tienes dos archivos: uno.php y dos.php, y quieres incluir el dos.php DENTRO del uno.php.

Si el código de dos.php es:

<?
echo \'esto pertenece a dos.php\';
?>

Y el código de uno.php fuera:

<?

echo \'aqui empieza uno.php\';
include(\'dos.php);

echo \'aquí sigue uno.php\';
?>

Cuando ejecutes uno.php, verás en la pantalla.

------------------------------------
aqui empieza unp.php
esto pertenece a dos.php
aquí sigue uno.php

------------------------------------

Un include se puede meter en CUALQUIER PARTE Del código, porque un include es como si cortaras y pegaras el codigo de dos.php (lo que hay entre <? y ?>) en medio de unp.php.



edu
04 de Abril del 2006
Lo he probado, y no me incluye nada de esta forma:
<?
include(cabecera.php);
?>
Lo pruebo con dobles comillas y me sale:
Documento sin titulo </head>
me muestra la cabecera, y lo demas se lo carga.

edu
04 de Abril del 2006
Ah, por cierto, lo he probado a meter dentro del head y del body, y nada.

edu
04 de Abril del 2006
Voy a ser mas explicito, y siento ser tan pesado.
Tengo en la cabecera una tabla con celdas con los botones de inicio, registro, login, buscador, etc.
Pues bien, ahora me funciona, es decir, me carga la cabecera ya que la guardo como formato phtml y en codigo javascript.
El problema es que me descoloca todo de su sitio. No aparece como lo tenia al principio.

MANOLO
04 de Abril del 2006
Creo que te falta poner el nombre del fichero entre comillas.

Saludos.

edu
04 de Abril del 2006
Esto es un cachondeo. Ahora me lo muestra todo bien colocado, en su sitio, me muestra todo cabecera y demas controles del cuerpo de la pagina, pero en el codigo a partir de la linea:
<?php include("libreria.phtml") ?>
esta en blanco. Es decir, en vista diseño aparecen los demas controles, tablas y celdas, pero en codigo no.
Gracias de nuevo!

MC
04 de Abril del 2006
A ver, resumiendo:

1) Un include tiene que estar dentro de un archivo con extensión PHP, NUNCA dentro de uno con extensión HTMl, por mucho <??> que tenga.

2) Un PHP puede hacer includes tanto de HTML como de PHP.

3) Él parámetro de un include SIEMPRE va entre comillas simples: include('archivo.php');