Foros del Web » Programando para Internet » PHP »

Porque PHP no Redirecciona???

Estas en el tema de Porque PHP no Redirecciona??? en el foro de PHP en Foros del Web. Hola a todos, tengo una pregunta EL problema es que estoy haciendo un archivo php redireccionando a otra direccion con un header, tengo varios pero ...
  #1 (permalink)  
Antiguo 19/02/2006, 16:57
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 208
Antigüedad: 19 años, 8 meses
Puntos: 1
Pregunta Porque PHP no Redirecciona???

Hola a todos, tengo una pregunta

EL problema es que estoy haciendo un archivo php redireccionando a otra direccion con un header, tengo varios pero hay algunos que no funcionan, estos que no funciuonan al momento de hacer un link hacia estos archivos deberia redireccionar automaticamente pero lo que sucede es que en lugar de redireccionar se vuelve a la misma página que se esta viendo ¿porque?

Casualmente los redireccionadores que no me funcionan estan redireccionando a archivos alojados en servidor gratuito freewebs.com ¿es posible que este servidor esta bloqueando de alguna forma estas redirecciones y por eso me regresa?

Gracias de antemano.
  #2 (permalink)  
Antiguo 19/02/2006, 18:22
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 20 años
Puntos: 0
Puedes postear tu codigo?

saludos!!
  #3 (permalink)  
Antiguo 19/02/2006, 18:30
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 208
Antigüedad: 19 años, 8 meses
Puntos: 1
De acuerdo Ok

Ok, el codigo que estoy utilizando en la pagina que redirecciona es este:

<?
header("Location: http://www.direccion.de.la.web.com/archivo.zip");
?>

Y eso es todo, lo unico que hago es: desde una página hago el enlace a esta pagina que tiene la redireccion para que automaticamente se me descargue un archivo, asi evito que puedan ver de donde se descarga; el problema es que con ciertos archivos (tengo varios, como 10 que redireccionan a archivos diferentes) al momento de hacer click en el enlace que supuestamente deberia de redireccionar vuelve a abrir la misma página donde esta el link hacia este archivo.

Bueno, espero ser claro y no muy engorroso en mi explicacion.

Gracias por la ayuda.
  #4 (permalink)  
Antiguo 19/02/2006, 22:05
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 19 años, 5 meses
Puntos: 7
Debes de incluir esos dos codigos al inicio de tu pagina
<?
ob_flush();
?>
<html>
<?
header("Location: http://www.direccion.de.la.web.com/archivo.zip");
?>

</html>
<?
ob_flush();
?>
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #5 (permalink)  
Antiguo 21/02/2006, 16:27
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 208
Antigüedad: 19 años, 8 meses
Puntos: 1
De acuerdo Yess

Ok, muchas gracias por la ayuda como siempre todo ha funcionado a la perfeccion.


Saludos!!!
  #6 (permalink)  
Antiguo 22/02/2006, 05:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por helthon
Debes de incluir esos dos codigos al inicio de tu pagina
<?
ob_flush();
?>
<html>
<?
header("Location: http://www.direccion.de.la.web.com/archivo.zip");
?>

</html>
<?
ob_flush();
?>
No deberían hacer uso del "buffer" de PHP para una taréa que se puede hacer simplemente re-ordentando el código de "salida" que generamos.

Me explico:
Cuando uno tiene un script PHP de proceso .. y "redirecciona" .. normalmente implica que en ese punto del flujo del código PHP queremos abandonar la ejecución del mismo para ejecutar otro. Com "sabemos" (o no?) que PHP se "ejecuta" en el servidor y su proceso final es entregado al "cliente" .. NO tiene sentido ni enviar nada de "HTML" al cliente ni mucho menos "capturar" el buffer de salida de PHP para hacer una taréa que se trata de "cambiar de script" (eso sí, la cabecera HTTP es la que manda al "cliente" que cambie a otro URL en general).

Por ende .. se trata de hacer procesos tipo:

Código PHP:
<?
// logica PHP
if(condicion){
// redirecciono
header ("Location: dondesea.tal");
exit; 
// y termino la ejecución del script en este punto ..ya no me interesa que se ejeucte nada de PHP más.


// tal vez me interese "generar" una página HTML común si la validación anterior pasó (caso típico). 
// Es a partir de aquí donde compondría mi página HTML NO antes
?>
<html>
<head>
</head>
<body>
blablabla
<? // más PHP .. etc ?>
</body>
</html>
Trabajar así con "PHP" es conocer como funciona PHP .. No pensando en "incrustrar" PHP entre HTML!.

Un saludo,
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 12:50.