Comunidad de diseño web y desarrollo en internet online

Problemón con Header PHP

Citar            
MensajeEscrito el 23 Feb 2008 12:00 am
Hola,
Tengo una dudilla:

Tengo 2 servidores, cada uno con una versión diferente de PHP.
En el servidor mas reciente tengo instalada la versión 4.4.7.
En el servidor mas antiguo tengo la versión 4.3.10.

La cosa es que tengo una parte del código PHP que no funciona en el servidor mas reciente, en cambio en el servidor mas antiguo va bién.

Ese código redirecciona a ok.html si se ha enviado el formulario, de lo contrario te lleva a error.html. El formulario funciona a la perfección y me llega al mail, pero no hay redirección alguna.
No creo que las versiones del PHP sean tan diferentes como para que haya algún cambio significativo en header, he buscado un poco y no lo debo haber entenido mucho, porque creo que el error solo puede deberse a eso.


Código :

echo ("<center><font face='Tahoma,Verdana,Arial'><h1>");
         if (mail($destino,$masunto,$cuerpo,$cabeceras))
         {
            header ("Location: ok.html");
         } else {
            header ("Location: error.html");
         }
         echo ("</center></font></h1>");
         ?>


Si alguien pudiera echarme una mano, le estaria eternamente agradecido.

Gracias de antemano.

Por kanjirulo

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Feb 2008 01:42 am
quita los "echo" que tienes, antes y despues de una redireccion no se debe imprimir nada

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 23 Feb 2008 02:23 am
Sigue sin funcionarme.
Gracias por responder !

Por kanjirulo

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Feb 2008 05:20 am
No puedes enviar absolutamente nada de contenido al navegador antes de modificar las cabeceras. Es decir, si en tu código tienes algún echo/print antes del condicional que muestras, bórralo (Esto también se aplica a la primera línea del código que muestras).

Saludos.

Por eZakto

43 de clabLevel



Genero:Masculino  

Salta, Argentina.

firefox
Citar            
MensajeEscrito el 25 Feb 2008 03:47 am
[code]
if (mail($destino,$masunto,$cuerpo,$cabeceras))
{
header ("Location: ok.html");
} else {
header ("Location: error.html");
}
// pero si de todas formas se va a redireccionar para que quieres esto?
echo ("<center><font face='Tahoma,Verdana,Arial'><h1>");
echo ("</center></font></h1>");
?>

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 25 Feb 2008 04:31 am
Lo del html tiene razón neo, no es del todo necesario. Sin embargo Neo, es recomendando después de un location, poner un exit, así practicamente siempre funciona el location, de lo contrario habrá casos en donde no redireccione y se quede una página en blanco. A mí no me gustaba hacerlo, se me hacía redundante, pero despues de tener un problema y buscar en la página de php.net, ví que era altamente recomendado hacerlo.

Código :

if (mail($destino,$masunto,$cuerpo,$cabeceras))
{
header ("Location: ok.html");
} else {
header ("Location: error.html");
}
exit; 

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.