Foros del Web » Programando para Internet » PHP »

Enlaces desde la raiz

Estas en el tema de Enlaces desde la raiz en el foro de PHP en Foros del Web. En mi pagina web, solo uso una plantilla y esta en la raíz (bastante logico). Todos los archivos con la información llaman a la plantilla ...
  #1 (permalink)  
Antiguo 29/03/2010, 08:00
 
Fecha de Ingreso: enero-2010
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 0
Enlaces desde la raiz

En mi pagina web, solo uso una plantilla y esta en la raíz (bastante logico). Todos los archivos con la información llaman a la plantilla con un:

<?php
include("plantilla.php");
?>

Los enlaces del menu que se encuentran en el archivo de la plantilla funcionan perfectamente con los archivos del mismo nivel, osea situados en la raiz. El problema ocurre con los archivos que se encuentran dentro de algun directorio:

plantilla.php
archivo1.php
archivo2.php
|
|__/Directorio 1/
|__archivo3.php
|__archivo4.php


los enlaces del menu que enlazan a los arvhivos no los en cuentra puesto que deben llevar un ../ delante.
Para solucionar esto, e encontrado una solución pero no se si es correcta:

En la plantilla indico:
<?php
$raiz="/";
?>

Y en el todos los enlaces de los archivos:
<a href="<? echo $raiz; ?>archivo1.php">Archivo 1</a>
<a href="<? echo $raiz; ?>archivo4.php">Archivo 4</a>

Asi, todos los enlaces parten de la raiz / i funcionan todos. Es correcto esto? Esta bien introducido <? echo $raiz; ?>, y se debe de utilizar "echo"?

Muchas gracias a todos los que me puedan ayudar
__________________
http://www.creaunaweb.es
  #2 (permalink)  
Antiguo 29/03/2010, 08:07
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
Respuesta: Enlaces desde la raiz

Pero tu include incluye el "/" para ir a buscar plantilla.php ?

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 29/03/2010, 08:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Enlaces desde la raiz

Para ello te sugiero usar direcciones absolutas, puedes usar la variable $_SERVER["DOCUMENT_ROOT"].
Código PHP:
Ver original
  1. include($_SERVER["DOCUMENT_ROOT"] . "/archivo.php");
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 29/03/2010, 08:12
 
Fecha de Ingreso: enero-2010
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Enlaces desde la raiz

Cita:
Iniciado por abimaelrc Ver Mensaje
Para ello te sugiero usar direcciones absolutas, puedes usar la variable $_SERVER["DOCUMENT_ROOT"].
Código PHP:
Ver original
  1. include($_SERVER["DOCUMENT_ROOT"] . "/archivo.php");
Entonces, los enlaces quedarian así?
<a href="<include($_SERVER["DOCUMENT_ROOT"] . "/archivo1.php");">Archivo 1</a>
<a href="<include($_SERVER["DOCUMENT_ROOT"] . "/archivo4.php");">Archivo 4</a>
__________________
http://www.creaunaweb.es
  #5 (permalink)  
Antiguo 29/03/2010, 08:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Enlaces desde la raiz

No, el ejemplo que te dí es para trabajar con PHP, lo que debes hacer en tu caso, entonces es algo así
Código HTML:
Ver original
  1. <a href="http://example.com/archivo1.php">archivo 1</a>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 29/03/2010, 08:36
 
Fecha de Ingreso: enero-2010
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Enlaces desde la raiz

Cita:
Iniciado por abimaelrc Ver Mensaje
No, el ejemplo que te dí es para trabajar con PHP, lo que debes hacer en tu caso, entonces es algo así
Código HTML:
Ver original
  1. <a href="http://example.com/archivo1.php">archivo 1</a>
perdon, no me explicado bien, si en HTML es como lo tenia, pero si los enlaces de la plantilla son de este tipo:
<a href="archivo1.php">archivo 1</a>
no puedo acceder de los arvhivos de un directorio al anterior ya que la ruta deberia de ser:
<a href="../archivo1.php">archivo 1</a>
con ../ para que funciones y encuentre el archivo. por eso le introducia esa variable <? echo $raiz; ?>, para que todas las rutas de los enlaces empiezen desde la raiz /

No puedo utilizar rutas absolutas ya que para hacer las pruevas utilizo el servidor xampp localmente i una vez todo esta completado y correcto lo subo al servidor de mi proveedor de hosting.
__________________
http://www.creaunaweb.es
  #7 (permalink)  
Antiguo 29/03/2010, 08:43
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Enlaces desde la raiz

Cita:
Iniciado por david_saez2 Ver Mensaje
No puedo utilizar rutas absolutas ya que para hacer las pruevas utilizo el servidor xampp localmente i una vez todo esta completado y correcto lo subo al servidor de mi proveedor de hosting.
Claro que puedes

Lo que se hace es crear un archivo que contiene una constante:

config_url_site.php
Código PHP:
Ver original
  1. define ('_URL', 'http://localhost/mi_site');

Y comienzas a usar en todo su site tu constante _URL. Cuando lo subas, simplemente cambias el define...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 29/03/2010, 08:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Enlaces desde la raiz

Aún así puedes indicar la ruta absoluta en una variable y esa variable llamarla en cada enlace.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 29/03/2010, 08:47
 
Fecha de Ingreso: enero-2010
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Enlaces desde la raiz

Ya está!! ya e encontrado el error, y como no se mucho de php pues no me habia dado cuenta. El error era:
<? echo $raiz; ?>
En vez de:
<?php echo $raiz; ?>

Ya me funciona correctamente. Ahora solo me falta saber si esto es correcto o "valido segun estandares" por decir-lo de alguna manera.

Muchas gracias abimaelrc por la ayuda. Verdad que subir el karma es una forma de puntuar o compensar?
Gracias tambien Carxl aun que no domino suficiente el tema com para hacer todo eso jaja, mas adelante seguramente podre utilizar-lo, de momento para lo que lo necesito ya e encontrado la solución
__________________
http://www.creaunaweb.es
  #10 (permalink)  
Antiguo 29/03/2010, 08:50
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Enlaces desde la raiz

Cita:
Iniciado por david_saez2 Ver Mensaje
Ya está!! ya e encontrado el error, y como no se mucho de php pues no me habia dado cuenta. El error era:
<? echo $raiz; ?>
En vez de:
<?php echo $raiz; ?>
Jejeje que bien! Ya sabes que usando el <?php ?> completo te evitas problemas

Cita:
Iniciado por david_saez2 Ver Mensaje
Ya me funciona correctamente. Ahora solo me falta saber si esto es correcto o "valido segun estandares" por decir-lo de alguna manera.
Correcto sí es... estándares no creo

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Etiquetas: enlaces, raiz
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 06:01.