Foros del Web » Programando para Internet » PHP »

Cambiar <base href> por¿?

Estas en el tema de Cambiar <base href> por¿? en el foro de PHP en Foros del Web. He estado buscando una forma de crear una etiqueta <base href=""> mediante php para usar la variable $_SERVER['HTTP_POST']. El problema es q lo quisiera meter ...
  #1 (permalink)  
Antiguo 01/02/2006, 04:36
Avatar de gelit0  
Fecha de Ingreso: enero-2006
Mensajes: 25
Antigüedad: 11 años, 10 meses
Puntos: 0
Cambiar <base href> por¿?

He estado buscando una forma de crear una etiqueta <base href=""> mediante php para usar la variable $_SERVER['HTTP_POST'].

El problema es q lo quisiera meter mediante un header() o de forma similar, para no tener q crear el tipico

Código PHP:
<html>
<head>
<?php
 
print '<base href='.$_SERVER['HTTP_POST'].">"
?>

Y meterlo, sin embargo en un include junto con el resto de los headers q tengo antes del <html>

Alguna sugerencia¿? Gracias de antemano.

Última edición por Cluster; 01/02/2006 a las 06:28
  #2 (permalink)  
Antiguo 01/02/2006, 06:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cuando usas header(), debes pensar que es lo que realmente hace dicha función.

Esa función te permite enviar "cabeceras" HTTP al cliente (tu navegador en tu caso) .. Las cabeceras HTTP se ejecutan -antes- de cualquier otro "HTML" o salida que pueda recibir el navegador (cliente mejor dicho) para que se interprete.

Por ende, lo que debes hacer es re-ordenar tu código "pensando" como realmente funciona PHP y no en que estás "metiendo" PHP por médio de HTML como así lo estás haciendo actualmente.

Así no tendrás problemas para usar un header() donde lo requieras, .. por supuestos esto implica algo más de trabajo y pensar bien como funciona PHP.

Sé que sería más facil que te diga algo como (lo que supongo que alguien te dará como solución): usa ob_start() ... mete tu header() donde gustes y luego ob_end_flush() o equivalente ... Todo esto es gestión del buffer de salida de PHP, pero .. ese uso del buffer de salida de pHP así, para resolver una taréa que se puede solventar "pensando" un poco mejor como funciona PHP es un gasto de consumos del servidor innecesario.

Si colocas tu código actual y detallas donde quieres redireccionar (con header()) te podríamos orientar sobre como re-ordenar tu código para no originar los típicos problemas de header() cuando se envia algo de salida antes de dicha función.

Un saludo,
  #3 (permalink)  
Antiguo 01/02/2006, 07:49
Avatar de gelit0  
Fecha de Ingreso: enero-2006
Mensajes: 25
Antigüedad: 11 años, 10 meses
Puntos: 0
Gracias, pero creo q no me has entendido bien (o no me he explicado lo suficiente).

Mi duda es saber si se puede poner una etiqueta <base href=""> igual q una meta con el header() o en caso de no poder hacerse una forma más o menos similar.

Creo q ahora me he explicado mejor ;)

El porque lo necesito es simple, tengo, como bien dices ciertas redirecciones, headers y ciertos includes, dependiendo de la página, todos ellos antes de meter una sola linea de html.
Y mi duda es si cabe la posibilidad de tener tambien entre todo ese maremagnum de código también la etiqueta base, para referenciar todo directamente desde la url principal y no en relativas.

Bueno, ahora creo q lo he liado un poco XD

Gracias de todos modos
  #4 (permalink)  
Antiguo 01/02/2006, 09:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero ... la etiqueta "base" es própia de HTML .. no de cabeceras HTTP como las que envias con header(), así que esa etiqueta "base" la debes definir en tu HTML donde corresponda (entre el <head> o donde sea ...) y las funciones PHP que envian cabeceras HTTP como header() usarlas donde corresponde (antes de cualquier salida emitida).

Sigo sin entender que pretendes hacer ...

Un saludo,
  #5 (permalink)  
Antiguo 01/02/2006, 14:05
Avatar de gelit0  
Fecha de Ingreso: enero-2006
Mensajes: 25
Antigüedad: 11 años, 10 meses
Puntos: 0
Ok, thx..

Era más o menos eso lo que necesitaba saber.
Lo que tengo es en un include todos los headers que uso, y mi idea era intentar meter tmb la etiqueta base como un header o cualquier otra función similar.
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 20:09.