Comunidad de diseño web y desarrollo en internet online

función header en formulario php

Citar            
MensajeEscrito el 09 Oct 2007 10:56 am
Buenas, tengo el siguiente formulario:

Código :

<?php
if (!$_POST){
?>
<form action="formulario.php" method="post">
   <p></p>
   <label for="nombre">Nombre*</label><br /> 
   <input name="nombre" type="text" id="nombre" size="40">
   <p></p> 
   <label for="empresa">Empresa</label>
   <br />
   <input name="empresa" type="text" id="empresa" size="40">
   <p></p> 
   <label for="telefono">Tel&eacute;fono*</label>   
   <br /> 
   <input name="telefono" type="text" id="telefono" size="40"> 
   <p></p>
   <label for="email">E mail</label>   
   <br /> 
   <input name="email" type="text" id="email" size="40"> 
   <p></p>
   <label for="comentarios">Comentarios*</label>
   <br /> 
   <textarea name="comentarios" cols="45" rows="3" id="comentarios"></textarea>
   <br /> 
   <input name="enviar" type="hidden" id="enviar" value="si">
   <br /> 
   <input name="Submit" type="submit" class="boton" onClick="MM_validateForm('nombre','','R','telefono','','RisNum','comentarios','','R');return document.MM_returnValue" value="ENVIAR">
   <br />
</form>
<?php
}else{
    //Estoy recibiendo el formulario, compongo el cuerpo
    $cuerpo = "Formulario Contacto\n";
    $cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
   $cuerpo .= "Empresa: " . $_POST["empresa"] . "\n";
   $cuerpo .= "Telefono: " . $_POST["telefono"] . "\n";
    $cuerpo .= "Email: " . $_POST["email"] . "\n";
    $cuerpo .= "Comentarios: " . $_POST["comentarios"] . "\n";

    //mando el correo...
    mail("[email protected]","Formulario Contacto",$cuerpo);

   header("Location: http://www.tuweb.es"); /* Redirigir al navegador */

}
?>


Es un formulario que trabaja sobre la misma página formulario.php. Mi problema es que la función header no funciona, lo que quiero es que mande el formulario y luego se meredireccione a otra web.
El header no me funciona, lo que hace es abrir de nuevo formularip.php pero sin datos.

Espero me ayudeis gracias

Por aquilesco

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Oct 2007 03:04 pm
bueno para el que le interese ya lo he solucionado, he sustituido:

Código :

header("Location: http://www.tuweb.es"); 


por esta línea y ya se redirige

Código :

echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://www.tuweb.e">";


saludos

Por aquilesco

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Oct 2007 07:53 pm
La explicación es sencilla: la función header(); SÓLO funciona si los Encabezados del protocolo HTTP no han sido ya enviados, es decir, si no hay ni una sola linea HTML, XHTML o XML antes de esa línea PHP, y además PHP no los ha iniciado antes (si hicieses include() o require() y el archivo que incluye ya los ha incializado tampoco funciona)

Espero que te ayude para la próxima!! :wink:

Saludoss,

Netcy.

Por netcyberas

25 de clabLevel



Genero:Masculino  

[ Barcelona | Spain ]

firefox

 

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