Saltar al contenido

Cómo crear un formulario de contacto PHP con envío a correo electrónico – Paso a paso

23 mayo 2020

Quizás seas de los que administren un sitio Web o hayas solicitado una cotización a través de un formulario de contacto; la mayoría de las páginas Web hacen uso de estos formularios; ahora, ¿Cómo  crear un formulario de contactos PHP con envío de correo electrónico paso a paso? Aquí te lo explicaremos de forma sencilla.

Paso 1: Codificar el marcado

Para crear un formulario de contactos PHP con envío a correo electrónico, lo primero que debemos tener en cuenta es qué elementos deseas que tenga tu formulario; se necesita un campo de entrada para el nombre del usuario que te esté contactando; así como un campo para la dirección de correo electrónico donde se pueda enviar la respuesta oportuna.

También un campo de entrada con el fin de que el usuario te contacte; así como un textarea que les permita escribir su mensaje. Teniendo en cuenta todo esto, procedes a codificar el marcado. Se escribe el código HTML para agregar todos los campos antes mencionados.

<form action=»contact.php» method=»post»>
<div class=»elem-group»>
<label for=»name»>Your Name</label>
<input type=»text» id=»name» name=»visitor_name» placeholder=»John Doe» pattern=[A-Z\sa-z]{3,20} required>
</div>
<div class=»elem-group»>
<label for=»email»>Your E-mail</label>
<input type=»email» id=»email» name=»visitor_email» placeholder=»[email protected]» required>
</div>
<div class=»elem-group»>
<label for=»department-selection»>Choose Concerned Department</label>
<select id=»department-selection» name=»concerned_department» required>
<option value=»»>Select a Department</option>
<option value=»billing»>Billing</option>
<option value=»marketing»>Marketing</option>
<option value=»technical support»>Technical Support</option>
</select>
</div>
<div class=»elem-group»>
<label for=»title»>Reason For Contacting Us</label>
<input type=»text» id=»title» name=»email_title» required placeholder=»Unable to Reset my Password» pattern=[A-Za-z0-9\s]{8,60}>
</div>
<div class=»elem-group»>
<label for=»message»>Write your message</label>
<textarea id=»message» name=»visitor_message» placeholder=»Say whatever you want.» required></textarea>
</div>
<button type=»submit»>Send Message</button></form>

Resaltemos algunos detalles importantes de este código; el carácter action especifica dónde se deben enviar los datos del formulario. El carácter name permite acceder a los valores de los elementos en el lado del servidor, es decir, permite conocer el nombre del usuario que te está contactando utilizando $_Post [visitor- name] en contactos.PHP. Utilizamos el carácter Placeholer para que los usuarios tengan una idea de la entrada para cada campo en formulario.

El carácter requier optimiza que no quede ningún campo importante en blanco antes que presione el botón de envío. El carácter paltern se utiliza para consignar reglas del tipo de valores que pueden ir dentro de ciertos campos.

En este caso solo permitiremos que el usuario use letras y el carácter de espacio en los nombres que envían; incluso limitan el número de carácter accesibles de 3 a 20.

Paso 2: Hacer que el formulario sea funcional utlizando PHP

El segundo paso es hacer que el formulario de contacto PHP con envío a correo electrónico sea funcional utilizando PHP; empieza creando un archivo contacto.php y escribe el siguiente código:

De esta manera se ha hecho alguna validación del lado del usuario en la entrada del mismo. También es importante hacer la validación del lado del servidor. Para ello se usa la función fillter_var() para purificar el nombre proporcionado por el usuario. De igual forma purificamos el valor de $email_title y $concern_department.

La seguridad es importante cuando se manejan datos de usuario o entrada. La validación permite verificar que el nombre del usuario no tenga ningún número.

Por ejemplo, si un usuario con malas intenciones intenta contactarlo mediante el formulario, puede que agregue etiquetas script en el textarea para que descargue una secuencia de comandos dañinos; esto podría ser peligroso, sobre todo en los sitios web de foros públicos.

Como puedes ver, para crear un formulario de contacto PHP con envío a correo electrónico se requiere de dos pasos fundamentales. Primero debemos tener en cuenta lo que queremos que tenga el formulario y luego procedemos a codificar el marcado.

Segundo, hacer que nuestro formulario sea funcional con PHP; sin dejar de lado la validación y la seguridad del mismo. Esperamos que te haya sido de utilidad este artículo.