Foros del Web » Programando para Internet » PHP »

Redirecciona con heder y saslida previa de datos

Estas en el tema de Redirecciona con heder y saslida previa de datos en el foro de PHP en Foros del Web. Hola amigos, sucede que estoy tratando de redireccionar una pagina, con header, pero me saca un error que me dice que no se puede por ...
  #1 (permalink)  
Antiguo 27/02/2005, 20:12
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
Redirecciona con heder y saslida previa de datos

Hola amigos, sucede que estoy tratando de redireccionar una pagina, con header, pero me saca un error que me dice que no se puede por que ya hay una salida al navegador, entiendo que esto pasa por que ya he enviado algo al navegador pero lo que yo quiero hacer, es que halla una salida al navegador y ademas me redireccione, algo asi como stos foros, que dice
:
estas siendo redireccionado.....
mientras unos es redireccionado

como lo puedo hacer?
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 28/02/2005, 00:01
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Podés usar un Meta:
Código HTML:
<meta http-equiv="refresh" content="2;url=archivo.php"> 
Cambiá el 2 por los segundos que quieres darle de 'delay' y archivo.php por la página de destino.

También podrías usar JavaScript, pero excluírias a los usuarios que lo deshabilitan.

Deberías además poner un link a la página de destino porque creo que en algunos browsers es posible desactivar la redirección por meta.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #3 (permalink)  
Antiguo 28/02/2005, 02:35
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 14 años
Puntos: 2
Si comprimes la página puedes usar los header dónde quieras
  #4 (permalink)  
Antiguo 28/02/2005, 08:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por dobeto
Si comprimes la página puedes usar los header dónde quieras
?¡?

Creo que más que "comprimir" te refieres al uso del control del buffer de PHP (salida) con las funciones ob_start() .. ob_end_flush() y afines .. (si no es eso .. podrías poner un ejemplo?).

Un saludo,
  #5 (permalink)  
Antiguo 28/02/2005, 08:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por mafima
Hola amigos, sucede que estoy tratando de redireccionar una pagina, con header, pero me saca un error que me dice que no se puede por que ya hay una salida al navegador, entiendo que esto pasa por que ya he enviado algo al navegador pero lo que yo quiero hacer, es que halla una salida al navegador y ademas me redireccione, algo asi como stos foros, que dice
:
estas siendo redireccionado.....
mientras unos es redireccionado

como lo puedo hacer?
Reordena tu código PHP+HTML .. fijate que PHP se procesa en el servidor y lo que genera (ese HTML según tu lógica y demás) se envia al "cliente" (tu navegador) para que se ejecute su parte (el HTML, Javascript ..etc) .. Las cabeceras (enviadas por header() ) se procesan -antes- de cualquier otra cosa llegue al cliente .. es decir, se procesan lo primero .. por eso hay conflictos si tu envias algo antes de estas.

Si pones el código que usas y el error concreto te podríamos ayudar a re-ordenar tu código sin necesidad de usar las funciones de control del buffer de PHP .. las cuales hacen un consumo extra de recursos del servidor para una taréa que se puede solventar con cierto orden de tu código y sobre todo pensando como "funciona" PHP y no en "HTML con "incrustraciones" de PHP" como se suele pensar en principio (hasta que realmente se conoce como actua PHP)

Un saludo,
  #6 (permalink)  
Antiguo 28/02/2005, 09:22
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 14 años
Puntos: 2
Cita:
Creo que más que "comprimir" te refieres al uso del control del buffer de PHP (salida) con las funciones ob_start() .. ob_end_flush() y afines .. (si no es eso .. podrías poner un ejemplo?).
Pues si que es eso pero además el HTML es comprimido en el servidor con lo que ganas velocidad en la descarga.
Si quieres posteo el script que yo uso para comprimir el HTML
  #7 (permalink)  
Antiguo 28/02/2005, 15:20
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
Ok

ya he reorganizado mi codigo... he solucionado mi problema.

por otro lado me gustaraia saber eso de la compresion de paguinas para que me sirve que utilidad reperesenta. etc...
__________________
SEO en Medellin
  #8 (permalink)  
Antiguo 01/03/2005, 05:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por dobeto
Pues si que es eso pero además el HTML es comprimido en el servidor con lo que ganas velocidad en la descarga.
Si quieres posteo el script que yo uso para comprimir el HTML
Ok, en ese caso está el dilema de siempre .. sacrificar velocidad de proceso del lado del servidor (para la compresión) y en el cliente (en la descompresión) vs tiempo de descarga más rápido .. De hecho con "clientes" (navegadores en PC's lentos) .. el tiempo que se gana en la descarga .. se hace igual pesado para el proceso en el "cliente" ..

En la documentación oficial de PHP sobre las funciones de gestión del buffer de salida .. tienen un apartado para el tema de la compresión (en gzip):
http://www.php.net/manual/en/function.ob-gzhandler.php

Un saludo,
  #9 (permalink)  
Antiguo 01/03/2005, 14:12
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
ok

ok leere ;)
__________________
SEO en Medellin
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 21:15.