Cómo construir un formulario de contacto receptivo con PHP

Cómo construir un formulario de contacto receptivo con PHP
Los formularios de contacto se usan comúnmente en aplicaciones web porque permiten que los visitantes del sitio web se comuniquen con el propietario del sitio web. Para la mayoría de los sitios web, se pueden acceder fácilmente a los formularios de contacto receptivos desde varios tipos de dispositivos, como computadoras de escritorio, computadoras portátiles, tabletas y teléfonos móviles.

En este tutorial, se implementa un formulario de contacto receptivo y los datos enviados se envían como un correo electrónico utilizando PHP. El paquete PHPMailer se usa en este tutorial para enviar el mensaje de contacto como un correo electrónico al propietario del sitio web; Se utilizan tres archivos para enviar el correo electrónico del localhost usando PHP:

  1. Phpmailerautoload.php
  2. clase.phpmailer.php
  3. clase.smtp.php

Puede descargar estos archivos de https: // github.com/phpmailer/phpmailer/.

Creando el formulario de contacto receptivo

Use el código a continuación para crear un índice.archivo html en el /var/www/html/php carpeta para diseñar un formulario de contacto receptivo. El formulario contendrá cuatro campos: Nombre, Correo electrónico, Razón para contactar y Mensaje.

índice.html



Formulario de contacto














FORMULARIO DE CONTACTO
















































Ejecute la siguiente URL de cualquier navegador para mostrar el formulario de contacto:
http: // localhost/php/contactform/

Cree un archivo JS para la validación y el envío del formulario

Use el código a continuación para crear un archivo JS llamado contacto.js Para validar el formulario de contacto. Aquí, todos los campos son obligatorios, y el campo de correo electrónico debe contener una dirección de correo electrónico válida. Si el ENVIAR MENSAJE El botón se presiona cuando hay un campo vacío o una dirección de correo electrónico no válida, entonces se mostrará un mensaje de error. Si el formulario se valida correctamente, los datos del formulario se enviarán al contacto.php utilizando el Ajax () método. Si los datos del formulario de contacto se envían correctamente, entonces se imprimirá un mensaje de éxito; de lo contrario. Un mensaje de falla se imprimirá como una alerta.

contacto.js

$ (function ()
// Verifique los errores de validador
$ ('#cform').validador ();
// Después de la presentación del formulario
$ ('#cform').en ('enviar', función (e)
// Si el validador no evita el envío del formulario
si (!mi.isDefaultPrevents ())
var url = "contacto.php ";
// Publicar valores en segundo plano de la URL de script
ps.Ajax (
Tipo: "Publicar",
URL: URL,
Datos: $ (esto).fabricar en serie(),
éxito: función (datos)

var sucesalert = '×' + data + '';
$ ('#msg').HTML (Succesalert);

);
falso retorno;

)
);

Cree un archivo PHP para leer los datos del formulario y enviar un correo electrónico

Use el código a continuación para crear un archivo PHP llamado contacto.php Para leer los datos del formulario y enviar un correo electrónico con los datos utilizando el paquete PHPMailer. Aquí, el servidor SMTP de la cuenta de Gmail se utiliza para enviar un correo electrónico. Tienes que habilitar el aplicación menos segura Opción para enviar un correo electrónico usando Gmail. Establezca su dirección de Gmail como el Nombre de usuario y tu contraseña como la Contraseña en el código. Use una dirección de correo electrónico de receptor válida para reemplazar 'Dirección de correo electrónico del receptor'. Si la autenticación se realiza correctamente, el correo electrónico se enviará correctamente. Un mensaje que transmite el éxito o el fracaso se devolverá al archivo JS desde el archivo PHP.

contacto.php

// Incluye el script necesario
requiere 'phpmailerautoload.php ';
// crear un objeto
$ mail = new PhpMailer ();
// Habilitar SMTP
$ mail-> issmtp ();
$ mail-> smtpauth = true;
// Habilitar la transferencia segura
$ mail-> smtpsecure = 'tls';
// $ mail-> smtpautotls = false;
// establecer el nombre de host SMTP
$ mail-> host = 'smtp.gmail.com ';
// establecer el puerto SMTP
$ mail-> puerto = 587;
// Configurar la siguiente configuración para la autenticación SMTP
$ mail-> smtpoptions = array (
'ssl' => array (
'Verify_peer' => False,
'Verify_peer_name' => False,
'DESHING_Self_signed' => verdadero
)
);
// Establezca su dirección de correo electrónico de Gmail como nombre de usuario SMTP
$ mail-> username = 'gmail dirección';
// Establezca su contraseña de correo electrónico como contraseña SMTP
$ mail-> contraseña = 'gmail p';
// Establecer la dirección del remitente
$ mail-> setFrom ($ _ post ['correo electrónico'], $ _post ['name']);
// Establecer la dirección de respuesta
$ mail-> addrepreplyto ($ _ post ['correo electrónico']);
// Establecer la dirección del destinatario
$ Mail → AddAddress ('Dirección de correo electrónico del receptor');
// Establecer el tema del correo electrónico
$ mail-> stem = $ _post ['razon'];
// Establecer el mensaje del correo electrónico
$ mail-> body = $ _post ['Mensaje'];
// Llame a la función Send () para enviar el correo electrónico
if ($ mail-> send ())
Se ha enviado un mensaje de eco.';
demás
Error de correo de echo: ' . $ Mail-> ErrorInfo;
// echo 'error en el envío del mensaje';

?>

Ejecute la URL mencionada anteriormente, complete el formulario con los datos adecuados y haga clic en el ENVIAR MENSAJE botón para enviar el formulario después de la validación.


Si el formulario se envió correctamente y el correo electrónico se envió al receptor, el siguiente mensaje aparecerá en la parte superior del formulario para informar al usuario que el mensaje se envió correctamente.

Conclusión

En este tutorial, diseñamos un formulario receptivo simple y enviamos un correo electrónico con datos de formulario del LocalHost utilizando el código PHP. El formulario de contacto es una parte esencial de cualquier sitio web porque permite a los visitantes comunicarse con el propietario del sitio web para conectarse o hacer preguntas. Los campos del formulario pueden variar según los requisitos del sitio.