Enviar formulario por email y a una págian php

Hola: Estoy diseñando un formulario básico que debe llegar al correo del destinatario. Fácil. Pero además quiero que si el correo llega, se...

La FAQ Enviar formulario por email y a una págian php tiene

Pertenece a la categoría:
Pregunta
Hola:

Estoy diseñando un formulario básico que debe llegar al correo del destinatario.
Fácil. Pero además quiero que si el correo llega, se abra una página php con los datos del formulario y que todo está correcto. Se que es un simple condicional, pero no veo la forma de afrontarlo. Si alguien sabe cómo, se lo agradeceré mucho.
Respuesta de vbox
Ya me respondo yo solo porque he encontrado la solución. Espero que a alguien le venga bien.
Necesitamos dos archivos .php. Uno enviará la información a otro y éste la recibirá y la enviará por correo utilizando la función mail(), que no suele funcionar en alojamientos gratuitos. Cuelgo los códigos para que los veáis.

Enviar.php (dentro de un <form>)
<?php
if (!$HTTP_POST_VARS){
?>
<p>Si quieres contactar con nosotros rellena el siguiente formulario y en breve te daremos una respuesta.</p>
<form action="form.php" method="post">
<table summary="Formulario de contacto Yagüe F.C." width="96%" border="1">
<caption>
Datos personales
</caption>
<tr>
<th scope="row">Nombre:</th>
<td><input type="text" id="nombre" name="nombre" size="40" /></td>

</tr>

<tr>
<th scope="row">Apellidos:</th>
<td><input type="text" id="apellidos" name="apellidos" size="40" /></td>
</tr>
<tr>
<th scope="row">Dirección:</th>
<td><input type="text" id="direccion" name="direccion" size="40" /></td>
</tr>
<tr>
<th scope="row">Teléfono:</th>
<td><input type="text" id="telefono" name="telefono" size="40" /></td>
</tr>
<tr>
<th scope="row">Ciudad:</th>
<td><input type="text" id="ciudad" name="ciudad" size="40" /></td>
</tr>
<tr>
<th scope="row">E-mail:</th>
<td><input type="text" id="correo" name="correo" size="40" /></td>
</tr>
<tr>
<th valign="top" scope="row"><strong>Escribe aquí tus comentarios:</strong>
<div style="margin-top:20%"> <input name="botón" type="submit" value="Enviar" /></div>
</th>
<td><textarea name="comentario" id="comentario" cols="40" rows="10"></textarea></td>
</tr>
</table>
</form>
<?php
}else{

echo "Ha ocurrido un error";
}

?>

Recibir.php
<?php
if ($HTTP_POST_VARS){

$_POST["nombre"]=$nombre;
$_POST["apellidos"]=$apellidos;
$_POST["direccion"]=$direccion;
$_POST["telefono"]=$telefono;
$_POST["ciudad"]=$ciudad;
$_POST["correo"]=$correo;
$_POST["comentario"]=$comentario; ?>
<strong>Nombre: </strong> <?php echo "$nombre";?><br/>
<strong>Apellidos: </strong> <?php echo "$apellidos";?><br/>
<strong>Dirección: </strong> <?php echo "$direccion";?><br/>
<strong>Teléfono: </strong> <?php echo "$telefono";?><br/>
<strong>Ciudad: </strong> <?php echo "$ciudad";?> <br/>
<strong>E mail: </strong> <?php echo "$correo";?> <br/>
<strong>Comentario:</strong> <?php echo "$comentario";?> </p>

<?php
$cuerpo .="Formulario del contacto"."<br />";
$cuerpo .="NOMBRE: ".$HTTP_POST_VARS["nombre"]."
"."<br />";
$cuerpo .="APELLIDOS: ".$HTTP_POST_VARS["apellidos"]."
"."<br />";
$cuerpo .="DIRECCIÓN: ".$HTTP_POST_VARS["direccion"]."
"."<br />";
$cuerpo .="TELÉFONO: ".$HTTP_POST_VARS["telefono"]."
"."<br />";
$cuerpo .="CIUDAD: ".$HTTP_POST_VARS["ciudad"]."
"."<br />";
$cuerpo .="CORREO: ".$HTTP_POST_VARS["correo"]."
"."<br />";
$cuerpo .="COMENTARIOS: ".$HTTP_POST_VARS["comentarios"]."
"."<br />";

$headers="MIME-Version: 1.0
";
$headers.= "Content-type: text/html; charset=iso-8859-1
";

mail("direcciondedestino@loquesea.com","Formulario recibido",$cuerpo,$headers);
}else{
echo "ALGO FALLA !!!!";
}
?>
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

pitufina

20/4/2009
recibir mail remitente
Hola, soy nuevecita en el tema y acabo de hacer un formulario php para la inscripción de un curso. Resulta que cuando hago la prueba y envio el form a mi correo, éste me llega pero en la dirección del remitente me sale omega@ahwebhost.com que es de mi hosting.
Cómo puedo hacer para que en su lugar me llega la direccion de correo del remitente?
gracias

Mario

04/8/2009
Error
Hola, mira soy nuevo en PHP y lo que hice es un copy a tu codigo y me sale un error que dice "Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:AppServwwwMARIO ecibir.php on line 49
" en mi editor es la siguiente linea (mail("mrodolfo.a@hotmail.com","Formulario recibido",$cuerpo,$headers);) y estoy tratando de ver eso.
por fabor te agradeceria que me respondieras. Gracias

mandrake

17/10/2009
consulta por formulario
hola amigos. Tengo una duda y es la siguiente: necesito hacer un formulario y quiero q los datos ingresados se envien directamentre a una casilla de correo. Utilizo DW para hacer el codigo y luego lo pruebo con EasyPHP (utilizando la pc como servidor) pero al ejecutarlo no me da ningun mensaje...

<?
if (!$HTTP_POST_VARS){
?>
<br />
<form action="index.php" method=post>
<table width="195" border="0" cellpadding="0" cellspacing="5">
<tr>
<td> <span class="text_form">Nombre: </span></td>
<td> <input type="text" name="nombre" size=22></td>
</tr>
<tr>
<td> <span class="text_form">Telefono: </span></td>
<td> <input type="text" name="cod" size=5>
<span class="text_form">-</span>
<input type="text" name="tel" size=15></td>
</tr>
<tr>
<td><span class="text_form">Email:</span> </td>
<td><input type="text" name="email" size=20></td>
</tr>
<tr>
<td colspan="2"><span class="text_form">Consulta: </span><br>

<textarea name="coment" cols=32 rows=6></textarea></td>
</tr>
</table><br />
<input type=submit value="Enviar">
</form>
<p>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado ";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . " ";
$cuerpo .= "Telefono: " . $HTTP_POST_VARS["cod"] . $HTTP_POST_VARS["tel"] . " ";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . " ";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . " ";

//mando el correo...
mail("kerubyn22@hotmail.com","Formulario recibido",$cuerpo);

//doy las gracias por el envío
echo "Gracias por tu consulta. En breve nos pondremos en contacto!";
}
?>

Jacint

16/12/2009
ffff
ffffffff

maria victoria

12/7/2011
Enviar un formulario
lei tu respuesta y la probe y cuando trato de enviarlo me sale la ocpion de si deseo abrir el archivo o guardarlo.

Hice los dos archivos php pero no se porque no me los envia.

Una pregunta como se enalza el archivo de envio de los datos con el archivo de recibir los datos¿
Gracias

wuenrt

24/9/2011
Solucion
El codigo que veo.. la mayoria se encuentra bien. pero cuando en el comando en el que se indica el mail se tiene que agregar el comando mailto("mail")
si contienen una duda pueden contactarme por skype coon el usuario awuenrt
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías