Foros del Web » Programando para Internet » PHP »

include nav y footer en todas las paginas

Estas en el tema de include nav y footer en todas las paginas en el foro de PHP en Foros del Web. hola estoy teniendo un problema al tratar de include nav y footer en todas mis paginas, el problema viene cuando creo una carpeta fuera de ...
  #1 (permalink)  
Antiguo 18/02/2016, 01:11
 
Fecha de Ingreso: enero-2014
Mensajes: 17
Antigüedad: 10 años, 3 meses
Puntos: 2
include nav y footer en todas las paginas

hola estoy teniendo un problema al tratar de include nav y footer en todas mis paginas, el problema viene cuando creo una carpeta fuera de mi root folder, ejemplo seria algo asi

Root/paginas/web.php

web.php
<?php include('includes/nav.php'); ?>
<div class="contenido">hola</div>
<?php include('includes/footer.php'); ?>

ahora cuando abro la pagina web.php no me carga ni el nav ni el footer ni los archivos css etc.
  #2 (permalink)  
Antiguo 18/02/2016, 08:16
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: include nav y footer en todas las paginas

Hola linux22,

Esta solución me la proporcionó pateketrueke y me funciona de lujo:

Código PHP:
Ver original
  1. $root = $_SERVER['DOCUMENT_ROOT'];
  2. if (!defined('BASE_URL')) {
  3.    define('BASE_URL', basename($root) === 'www' ? $root."proyecto_x" : $root);
  4. }
  5. // Include o require o como se necesite
  6. require_once (BASE_URL . "/archivos/includes/nav.php");

Espero que te sirva, si es así, le puedes dar las gracias a pateketrueke, que es un figura y me resolvió este problema.
  #3 (permalink)  
Antiguo 18/02/2016, 15:40
 
Fecha de Ingreso: enero-2014
Mensajes: 17
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: include nav y footer en todas las paginas

Cita:
Iniciado por rbczgz Ver Mensaje
Hola linux22,

Esta solución me la proporcionó [URL="http://www.forosdelweb.com/miembros/pateketrueke/"]pateketrueke[/URL] y me funciona de lujo:

Código PHP:
Ver original
  1. $root = $_SERVER['DOCUMENT_ROOT'];
  2. if (!defined('BASE_URL')) {
  3.    define('BASE_URL', basename($root) === 'www' ? $root."proyecto_x" : $root);
  4. }
  5. // Include o require o como se necesite
  6. require_once (BASE_URL . "/archivos/includes/nav.php");

Espero que te sirva, si es así, le puedes dar las gracias a [URL="http://www.forosdelweb.com/miembros/pateketrueke/"]pateketrueke[/URL], que es un figura y me resolvió este problema.

Hola rbczgz, disculpa que sea medio noob todavia con el php pero esto donde lo tendria que poner, y por otro lado en proyecto_x que vendria? me podrias explicar un poco mas, actualmente estoy ya bajandome un manual de php para empezar a estudiar, en verdad lo necesito.
  #4 (permalink)  
Antiguo 19/02/2016, 00:39
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: include nav y footer en todas las paginas

Hola linux22,

Esto lo tendrías que colocar al principio de tus archivos o según cómo lo tengas, quizá en un archivo que tengas de configuración, eso depende de como tengas estructurada tu jerarquía de carpetas, de dónde lo vayas a ejecutar/probar/producción, etc:

Código PHP:
Ver original
  1. $root = $_SERVER['DOCUMENT_ROOT'];
  2. if (!defined('BASE_URL')) {
  3.    define('BASE_URL', basename($root) === 'www' ? $root : $root);
  4. }

Lo de proyecto_x era para el caso de que en local tu proyecto no estuviera en www.

Te recomiendo que estudies el código, lo analices y entiendas qué hace cada parte de él.

Espero haberte aclarado tus dudas.
  #5 (permalink)  
Antiguo 19/02/2016, 16:56
 
Fecha de Ingreso: enero-2014
Mensajes: 17
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: include nav y footer en todas las paginas

Muchas gracias rbczgz!!!
  #6 (permalink)  
Antiguo 19/02/2016, 23:02
 
Fecha de Ingreso: enero-2014
Mensajes: 17
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: include nav y footer en todas las paginas

Ya que estamos te hago otra pregunta,

Tengo index.php index2.php index3.php index4.php index5.php lo cual estan en el root del server, despues dentro del root tengo una carpeta llamada includes donde estan puesto el header y footer
lo cual en cada pagina llama a header y footer para las paginas index1,2,3,4,5.. todo bien hasta ahi..

Ahora hago otro folder llamado folderX y dentro de ese folder tengo index44 y quiero llamar a el header y nav, los archivos no se cargaban y puse include('../includes/nav.php'); y anda perfecto,
el problema viene cuando quiero clickiar en el nav me agrega el nombre de folderX/ y despues el nombre de la pagina index1. index 2 etc.. que estare haciendo mal?

Gracias
  #7 (permalink)  
Antiguo 20/02/2016, 09:42
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: include nav y footer en todas las paginas

Hola linux22,

Eso es porque estás usando rutas relativas al documento, debes usar rutas relativas a la raíz, por ejemplo:

Código HTML:
Ver original
  1. <a href="/index.php">Enlace</a> o
  2. <a href="/folderX/index44.php">Enlace</a>

Si lo haces de esta otra forma, según donde tengas los includes te pasará lo que me comentas.

Código HTML:
Ver original
  1. <a href="index.php">Enlace</a> o
  2. <a href="folderX/index44.php">Enlace</a>

Espero haberte ayudado.

Etiquetas: footer, include, nav
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:36.