Foros del Web » Programando para Internet » PHP »

Ayuda con un formulario php

Estas en el tema de Ayuda con un formulario php en el foro de PHP en Foros del Web. Buenas tardes: He creado un formulario que llega correctamente, pero me gustaría que las " Gracias por enviar el formulario" las diese en una pagina ...
  #1 (permalink)  
Antiguo 16/12/2009, 10:53
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Ayuda con un formulario php

Buenas tardes:

He creado un formulario que llega correctamente, pero me gustaría que las " Gracias por enviar el formulario" las diese en una pagina que se llama gracias.html.

he utilizado para ello: header( 'Location: http://www.SuSitio.com/gracias.html' ) pero no soy capaza de hacerlo funcionar. me da un warning.


Os agradezco la ayuda. Os dejo el código completo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulario de Petición de Información</title>
<script language="javascript">
function marcado(){
if (document.form.termin.checked) {

}
else{
alert("Debes aceptar los términos y condiciones");
document.form.termin.focus();
return false;
}

}
</script>

<?
if (!$HTTP_POST_VARS){
?> </p>
<style type="text/css">
<!--
.Estilo15 {color: #999999}
.Estilo19 { color: #000000
}
-->
</style>
<form action="envia_form_php.php" method=post name="form" onsubmit="return marcado();"><div align="center">
<table width="500" border="0" align="left" cellpadding="2" cellspacing="2">
<tr>
<td><div align="right">Nombre: </div></td>
<td><input type="text" name="nombre2" size="30" /></td>
</tr>
<tr>
<td><div align="right">Apellidos: </div></td>
<td><input type="text" name="apellidos" size="30" /></td>
</tr>
<tr>
<td><div align="right">Email:</div></td>
<td><input type="text" name="email" size="30" /></td>
</tr>
<tr>
<td><div align="right">Provincia: </div></td>
<td><input type="text" name="provincia" size="30" /></td>
</tr>
<tr>
<td><div align="right">Tel&eacute;fono: </div></td>
<td><input type="text" name="Tel&eacute;fono" size="30" /></td>
</tr>
<tr>
<td valign="top"><div align="right">Consulta:</div></td>
<td><textarea name="coment" cols="32" rows="6"></textarea></td>
</tr>
<tr>
<td colspan="2" valign="top"><div align="left" class="Estilo19">
<input type="checkbox" value="1" name="termin" id="termin" />
<span class="Estilo15">He le&iacute;do y acepto las condiciones. <a href="aviso-legal.html" target="_blank">Aviso Legal</a> y <a href="politica-de-privacidad.html">Pol&iacute;itica de Privacidad</a></span></div></td>
</tr>
<tr>
<td valign="top"><label>
<input type="submit" name="Enviar" value="Enviar" />
</label></td>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
</table>
<br>
</div>
</form>
<?

}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$mailheader = "From: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cuerpo = "Formulario enviado por:\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Provincia: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Teléfono: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n";
$cuerpo .= "Consulta: " . $HTTP_POST_VARS["coment"] . "\n";

//mando el correo...
mail("[email protected]","Petición de Información;",$cuerpo);

//doy las gracias por el envío
header( 'Location: http://www.SuSitio.com/gracias.html' )
;
}
?>
  #2 (permalink)  
Antiguo 16/12/2009, 10:58
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Ayuda con un formulario php

pudiera ser por que el ; no esta en la misma linea que el header, pero si eso no lo corrige elimina esa linea y después del ?> pones esto:

Código HTML:
<html>
<head>
<META HTTP-EQUIV="refresh" CONTENT="10; url=http://www.SuSitio.com/gracias.html">
</head>
</html> 
__________________
http://exegesis-biblica.com/
  #3 (permalink)  
Antiguo 16/12/2009, 10:59
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Ayuda con un formulario php

podrias indicar el warning que te muestra???...o en todo caso, en vez del header pones las gracias ahi...
  #4 (permalink)  
Antiguo 16/12/2009, 11:13
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda con un formulario php

Gracias Blogger. Ninguna de las 2 alternativas me funciona.

JoseTejada, poniendo:

echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";

si funciona pero quiero que me guarde el formato de la página. Este esl warning que me da, en cualquier caso el formulario lo sigue enviando.

Warning: Cannot modify header information - headers already sent by (output started at /homepages/39/d300831341/htdocs/prueba/envia_form_php.php:6) in /homepages/39/d300831341/htdocs/prueba/envia_form_php.php on line 89

Esta es la linea 89: header( 'Location: http://www.SuSitio.com/gracias.html' );

Gracias de nuevo.
  #5 (permalink)  
Antiguo 16/12/2009, 11:23
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Ayuda con un formulario php

ese error es porque estas usando el header luego de varias etiquetas html, es decir, el header se usan antes de todo, incluso antes del <html> en todo caso podrias poner un script en otro archivo que se encargue de enviar el correo...
  #6 (permalink)  
Antiguo 16/12/2009, 11:58
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda con un formulario php

He metido el header al princiio y el error que me da es este:

Parse error: syntax error, unexpected $end in /homepages/39/d300831341/htdocs/prueba/envia_form_php.php on line 89

donde línea89 es: ?>

Seguro que es una "chorrada" pero me estoy volviendo loco. Gracias.
  #7 (permalink)  
Antiguo 16/12/2009, 12:07
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Ayuda con un formulario php

Gracias por la ayuda. Solucionado. Faltaba cerra con }
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 13:41.