Foros del Web » Programando para Internet » PHP »

header("location...") no funciona

Estas en el tema de header("location...") no funciona en el foro de PHP en Foros del Web. Tengo dos paginas : uno.php: Código PHP: < html > < head > </ head > < body > < form id = "form1"  name = ...
  #1 (permalink)  
Antiguo 09/01/2007, 04:59
 
Fecha de Ingreso: marzo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 1
header("location...") no funciona

Tengo dos paginas :

uno.php:
Código PHP:
<html>
<
head>
</
head>
<
body>
<
form id="form1" name="form1" method="post" action="dos.php">
  <
input type="submit" name="Submit" value="Enviar" />
</
form>
</
body>
</
html
dos.php:
Código PHP:
<html>
<head>
</head>
<body>
<? header("Location: uno.php"?>
</body>
</html>
y al apretar enviar me sale esto:
Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\pruebas\dos.php:5) in c:\foxserv\www\pruebas\dos.php on line 5

¿Como se redirige en php?
  #2 (permalink)  
Antiguo 09/01/2007, 05:03
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 8 meses
Puntos: 6
Re: header("location...") no funciona

No podes redireccionar con header luego de haber mostrado algo por pantalla. En este caso, el header lo tendrias que colocar en la primer linea del archivo, antes que cualquier tipo de salida (ya sea html, texto o espacios en blanco)

Código PHP:
<? header("Location: uno.php"?>
<html>
<head>
</head>
<body>
</body>
</html>
En este caso no tendria mucho sentido el codigo html luego de la redirección.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar

Última edición por Fridureiks; 09/01/2007 a las 05:12
  #3 (permalink)  
Antiguo 09/01/2007, 05:04
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: header("location...") no funciona

Te falta el (./) y el (;) de el final
header("Location: ./uno.php");
  #4 (permalink)  
Antiguo 09/01/2007, 05:06
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: header("location...") no funciona

Tambien puedes redirigirte mediante una ventanita de alerta así:
Código PHP:
<?
echo "<script> alert (\"Vas a volver a la pagina 1\"); </script>";
echo 
"<script language=Javascript> location.href=\"uno.php\"; </script>";
die();
?>
  #5 (permalink)  
Antiguo 09/01/2007, 06:12
 
Fecha de Ingreso: marzo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 1
Re: header("location...") no funciona

Gracias allebor, la solucion de ponerlo al principio de html no me servía mucho ya que esta redireccion tenía que ponerla dentro de un if. Menosmal que hay soluciones en javascript para lo que no se puede hacer en php. En todo caso encuentro que esto es una debilidad en PHP respecto a ASP, ya que este ultimo posee el "response.redirect"
  #6 (permalink)  
Antiguo 09/01/2007, 06:38
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 8 meses
Puntos: 6
Re: header("location...") no funciona

Se puede redireccionar segun condiciones, lo que no se puede es mostrar algo por pantalla antes del header.

Código PHP:
if(esto)
{
        
header("Location: index.php");
}else{
        
header("Location: menu.php");

Y para esto ultimo hay una solucion, que la puedes leer en las FAQ's, el titulo es algo asi como "Utilizar header en cualquier parte de la pagina".... incluso esta solucion puede ser mejor que el javascript que te pasaron, puesto que no dependes del cliente.... aunque a mi no me gusta mucho jeje.


De nada.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #7 (permalink)  
Antiguo 09/01/2007, 09:34
 
Fecha de Ingreso: marzo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 1
Re: header("location...") no funciona

al principio :
Cita:
<?
ob_start();
?>
y al final :
Cita:
<?
ob_end_flush();
?>
esa era....la probe y me resulto, muchas gracias fridureiks, aunque la solucion de javascript igual me sirve ya que tengo un formulario que si hay error de ingreso en los datos te muestran un mensaje y te redirigen a la pagina anterior, sino te redirige a la siguiente pagina.Igual gracias a todos por interesarse en ayudar.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 16:14.