PDA

Ver la Versión Completa : Problemas con include()


dape
25-07-2005, 00:23:29
Hola amigos, ahora con problemas en el web, resulta que estoy practicando un poco mis "habilidades web" así que estoy haciendo una paginita de "re-aprendizaje", en esta incluyo una página dentro de otra, para lo cual utilizo:


include("pagina2.php");


que esta cólocado entre <body> </body>.

El problema es que cuando visualizo lo página en Opera se ve como quiero, pero en Firefox ¡no se carga la hoja de estilos!, en cambio cuando pongo el include antes del <html> Firefox si carga la hoja de estilos.

Para ser sincero no tengo idea a que pueda deberse esto y en realidad no es de vida o muerte ya que como puse arriba, estoy recordando esto de la web.

Si alguien sabe a que se puede deber esta peculiar situación y su posible solución, le estaré muy agradecido.

Saludos desde Tacna - Perú

David

dec
25-07-2005, 10:01:50
Hola,

Leí mal tu mensaje y me confundí y creí haber encontrado una posible solución. Me explicaré.

El caso es que pensaba que una hoja de estilo ha de enlazarse en la cabecera del documento HTML, esto es, entre el inicio y cierre de la etiqueta HEAD.

Sin embargo esto no es del todo así, a lo que se ve, puesto que funciona igualmente si la hoja de estilo se enlaza ya en el cuerpo del documento, esto es, entre el inicio y cierre de la etiqueta BODY.

En cualquiera de los casos mencionados la hoja de estilo se carga tanto en Internet Explorer como en FireFox.

Probé luego a enlazar la hoja de estilo antes incluso de la etiqueta HTML que inicia el documento y, para mi sorpresa, también funciona, o sea, tanto en Internet Explorer como en FireFox.

Así lo único que me se me ocurre que pueda estar pasando es que el código HTML del documento que estás probando no esté del todo bien formado, que contenga algunos errores de bulto que, entre otras cosas, impidan la carga de la hora de estilo.

¿Y qué solución te doy? Pues ninguna. Seguramente algo que ya habrás hecho tú: echar un vistazo al código HTML del documento (una vez cargado en un navegador) para ver qué tal se ve, si encuentras algo "raro" o que posiblemente produzca el error que comentas.

Alguien acaso sabrá responderte mejor, pero, personalmente lo único que se me ocurre es lo que te he dicho.

Actualización: Cuando hablo de enlazar la hoja de estilo hablo de añadir al documento HTML lo siguiente:


<link rel="StyleSheet" href="../css/principal.css" media="screen" type="text/css" />


Y a partir de ahí se me ocurre que tal vez lo que esté fallando sea la ruta de la propia hoja de estilo... tal vez no están los documentos que incluyes en la misma ruta, tal vez, en definitiva, la hoja de estilo, no es que no se enlaze, es que no se encuentra.

kayetano
25-07-2005, 11:40:26
Hola

una pregunta ¿pagina2.php tiene las etiquetas HTML, HEAD, BODY, ... ?
Solo se me ocurre que estes intentando incluir una documento HTML completo dentro de otro documento HTML completo, esto puede llevar a confusión al navegador al encontrar varias veces las etiquetas de inicio de documento y demás.

dape
26-07-2005, 05:02:41
Hola otra vez, creo que algo me falto explicar, la hoja de estilo la llamo desde la página principal, que tiene la sgte estructura:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="sp" xml:lang="sp">
<head>
<title>P&aacute;gina web</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" href="css/principal.css" type="text/css" media="screen, projection" />
</head>
<body>
<?PHP
include("includes/pagina2.php");
?>
</body>
</html>


La segunda página sólo contiene unos <div></div>:


<div class="contenido">
prueba<br/><br/><br/><br/><br/><br/>
</div>
<div class="menu">
<a href="#" title="Ir a la p&aacute;gina de inicio">Inicio</a>
<a href="#" title="Ir a la p&aacute;gina de inicio">Men&uacute; 1</a>
</div>
<div class="pie">
Desarrollado por David Perez
</div>


y a mi parecer no hay nada de malo en el documento, así como esta se muestra como quiero en Opera y en IExplorer (bueno en este último dentro de lo que puede), en cambio en FireFox sólo me muestra el contenido de la página. Pero con:



<?PHP
include("includes/pagina2.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="sp" xml:lang="sp">
<head>
.
.
.
</html>


ahí sí funciona bien en los tres.

La estructura de los directorios es como sigue:

raiz
|
|---css
|---includes

en la raiz es el index.php y en los otros, bueno lo que dice su nombre.

No sé, seguiré intentando a ver si logró salvar ese problemilla.

Disculpen si me exagero en los códigos pero como es pequeño me anime a insertarlo.

Saludos desde Tacna - Perú

David