Cómo enviar un formulario por e

Anuncio
Cómo enviar un formulario por e-mail
usando PHP
Junio 2014
Cuando estamos trabajando en un sitio web, muchas veces
existe la necesidad de proveer al usuario con un formulario
de contacto para hacernos llegar sus consultas, comentarios
u otro tipo de información.
En este truco te mostramos un ejemplo de cómo hacer un
formulario usando HTML para crearlo y PHP para
procesarlo y enviarlo por e-mail.
El formulario
El script PHP
El formulario
Se trata de un fragmento de código HTML que usando el TAG <form> nos permite crear el
formulario de entrada de datos a ser completado por el usuario: formulario.html
<form name="frmContacto" method="post" action="sendbymail.php">
<table width="500px">
<tr>
<td>
<label for="first_name">Nombre: *</label>
</td>
<td>
<input type="text" name="first_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Apellido: *</label>
</td>
<td>
<input type="text" name="last_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td>
<label for="email">Dirección de E-mail: *</label>
</td>
<td>
<input type="text" name="email" maxlength="80" size="35">
</td>
</tr>
<tr>
<td>
<label for="telephone">Número de teléfono:</label>
</td>
<td>
<input type="text" name="telephone" maxlength="25" size="15">
</td>
</tr>
<tr>
<td>
<label for="comments">Comentarios: *</label>
</td>
<td>
<textarea name="comments" maxlength="500" cols="30" rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right">
<input type="submit" value="Enviar">
</td>
</tr>
</table>
</form>
El script PHP
La otra parte de código a escribir será entonces la encargada de tomar los datos del formulario
anterior, validarlos y si todo está bien, enviar el formulario por correo electrónico a una dirección
de destino determinada en el código. Veamos este ejemplo: sendbymail.php
<?php
if(isset($_POST['email'])) {
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "destinatario@sudominio.com";
$email_subject = "Contacto desde el sitio web";
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
}
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['first_name'] . "\n";
$email_message .= "Apellido: " . $_POST['last_name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Teléfono: " . $_POST['telephone'] . "\n";
$email_message .= "Comentarios: " . $_POST['comments'] . "\n\n";
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
echo "¡El formulario se ha enviado con éxito!";
}
?>
Este documento intitulado « Cómo enviar un formulario por e-mail usando PHP » de Kioskea (es.kioskea.net) esta
puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la
licencia, siempre que esta nota sea visible.
Descargar