Cómo enviar datos de formulario HTML a un correo electrónico usando PHP
Enviar un formulario por correo electrónico es una forma importante y habitual de comunicarse con un usuario de un recurso web. Escribamos un formulario simple para enviar datos por correo electrónico utilizando la función PHP mail(). Nuestro formulario también escribirá datos en un archivo en el servidor. El código no está vinculado a ningún CMS y se puede utilizar en cualquier lugar. Es importante que la función mail() esté habilitada en su alojamiento.
<?php
if(isset($_POST['spam']) && isset($_POST['submit']) && !$_POST['spam']){
//departure date
$date = date('d-m-Y H:i');
//the value from the name field is limited to 100 characters
$field_name = substr(htmlspecialchars(trim($_POST['name'])), 0, 100);
//the value of the message field is limited to 1000 characters
$field_message = substr(htmlspecialchars(trim($_POST['message'])), 0, 1000);
$to = "user@example.com"; //to
$subject = "Data from the feedback form";
//text of the letter
$msg = "Name: $field_name
\nMessage: $field_message";
$headers = 'From: webmaster@example.com'; // from
mail($to, $subject, $msg, $headers);//send the letter
//create a string to write to the file on the server
$file_msg = "$date Name: $field_name; Message: $field_message;\n";
//write data to file
file_put_contents(__DIR__ . '/mail.txt', $file_msg, FILE_APPEND);
echo '<p>Thank you for your message</p>';
}
?>
<form method="post" action="">
<input type="text" name="name" placeholder="Name*" required>
<textarea name="message" placeholder="Message*" required></textarea>
<input type="hidden" name="spam" value="">
<input type="submit" value="Send" name="submit">
</form>
Enviamos un correo a user@example.com. En el valor “from”, es conveniente especificar un buzón de correo del dominio actual. Los datos se escriben en el archivo mail.txt. Los campos del formulario se han establecido como obligatorios mediante el atributo “required”. El campo “spam” proporcionará protección contra los robots de spam, pero mínima. El controlador del formulario se encuentra en la dirección actual. Mostramos un mensaje de agradecimiento después de enviarlo correctamente.
En su implementación, puede guardar los datos en la base de datos en lugar de escribirlos en el archivo. También puede mover el controlador de solicitudes a un archivo separado.
Publicaciones similares:
-
Corrección de la URL de la imagen en ACF (Advanced Custom Fields)
El plugin ACF (Advanced Custom Fields) es una herramienta excelente y práctica para ampliar la funcionalidad de WordPress. ACF te permite añadir campos personalizados al ...
-
Cómo eliminar el campo "Sitio web" del formulario de comentarios de WordPress
Por defecto, WordPress incluye un campo "Sitio web" o "URL" en su formulario de comentarios. Si bien esto puede ser útil en algunos casos, suele atraer spammers que dejan...
-
Cómo subir archivos a un servidor usando PHP
Subir archivos a un sitio web es una tarea común. Considere subir archivos a un servidor PHP mediante el método POST. Esto requerirá un formulario con el tipo de campo "f...
Leave a Reply