Cuando trabajamos en un sitio web, a 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 enseñamos un ejemplo de cómo crear un formulario usando HTML y un script PHP para procesarlo y enviarlo por e-mail.
Se trata de un fragmento de código HTML que, al usar el TAG form, nos permite crear el formulario de entrada de datos (formulario.html), el cual deberá ser completado por el usuario:
<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>
Por lo tanto, la otra parte del código a escribir será la encargada de tomar los datos del formulario anterior, validarlos y enviar el formulario por correo electrónico a una dirección de destino determinada en el código.
Veámoslo en el ejemplo sendbymail.php:
<?php if(isset($_POST['email'])) { <bold>// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias</bold> $email_to = "destinatario@sudominio.com"; $email_subject = "Contacto desde el sitio web"; <bold>// Aquí se deberían validar los datos ingresados por el usuario</bold> 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"; <bold>// Ahora se envía el e-mail usando la función mail() de PHP</bold> $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!"; } ?>