Foros del Web » Programando para Internet » PHP »

Duda con el Header("location: ... ");

Estas en el tema de Duda con el Header("location: ... "); en el foro de PHP en Foros del Web. Vamos a ver, un ejemplo lo más fácil posible yo creo un documento PHP (llamado "a.php") q entre las etiquetas body solo tenga el siguiente ...
  #1 (permalink)  
Antiguo 20/05/2005, 06:21
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 12 años, 11 meses
Puntos: 1
Duda con el Header("location: ... ");

Vamos a ver, un ejemplo lo más fácil posible

yo creo un documento PHP (llamado "a.php") q entre las etiquetas body solo tenga el siguiente código

Código:
<?php 
    header("location:b.php");
?>
si, miro el resultado en localhost, pues todo va muy bien, me redirecciona a "b.php" estupendamente.

Pero si lo subo a un servidor web, y lo compruebo desde ahi, me da el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at /home/miservidor/www/hospital/periodico/poesias/a.php:8) in /home/miservidor/www/hospital/periodico/poesias/a.php on line 8


la línea 8, por supuesto en la línea del Header("location:b.php");

que ocurre????
  #2 (permalink)  
Antiguo 20/05/2005, 06:48
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
el header no debe ir embebido en etiquetas HTML, es decir, debe estar más arriba de cualquier tag html, sea <body> o <html>, se entiende?.

Tu código de a.php debería ser:
Código PHP:
<?php header("Location: b.php"); ?>
<html>
<body>
....
Porque no te envía error en localhost? pues debe ser alguna opción en la configuración de tu servidor....

Saludos
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 20/05/2005, 07:03
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 12 años, 11 meses
Puntos: 1
Pero de esa manera como tu dices, redirecciona automáticamente antes de hacer nada.

Mi objetivo, es que vaya a una página, haga unas cuantas órdenes, y a continuación me redireccione a otra página. ¿Se me entiende?

Y así, de esa manera, sería imposible, redireccionaría sin completar ninguna orden
  #4 (permalink)  
Antiguo 20/05/2005, 07:04
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
En efecto. Cualquier cosa que mandes ya por php, ya sa html, texto o lo que sea, no te permite usar cabeceras con header(). Las cabeceras, para que nos entendamos, son unos datos que se intercambian el cliente (navegador) y el servidor antes de empezar una transferencia de datos, como una página web. Por eso, en el mismo momento en que envíes cualquier cosa (como <html><header><title>hola</title></header>) ya no puedes mandar cabeceras, porque el propio servidor ya las envió antes de mandar este texto.
Saludos.
__________________
Mi página personal: Julián Urbano
  #5 (permalink)  
Antiguo 20/05/2005, 09:39
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
es simple, no uses header, utiliza alguna funcion de javascript o bien una etiqueta <meta> con un refresh...

Código PHP:
<html>
<
head>
<
meta http-equiv="refresh" content="5;URL=otra_pagina.php">
</
head>
<
body>
... 
En ese caso se va a redireccionar a "otra_pagina.php" al cabo de 5 segundos (que es lo necesario para que el usuario lea el mensaje...)

o bien, hazlo en PHP, pero con un time tambien:
header("Refresh: 5; URL=http://www.php.net");

Mas ejemplos de header: http://es2.php.net/manual/es/function.header.php
__________________
I Love Programming...
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 01:34.