0Pricing
PHP Academy · Lección

Crear un formulario de contacto

Cree un formulario de contacto que envíe mensajes por correo electrónico

Crear un formulario de contacto es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 2 de 2. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 2 lecciones en total.

Introducción al proyecto del formulario de contacto

Crear un formulario de contacto

¡Bienvenido a la lección sobre cómo crear un formulario de contacto! En este proyecto, aprenderá a crear un formulario que permite a los usuarios enviar mensajes por correo electrónico. ¡Comencemos!

Crear un formulario de contacto — ilustración 1

Preparar el proyecto

Preparar el proyecto

Antes de comenzar, asegúrese de tener:

  • Un servidor web como XAMPP o WAMP.
  • Un editor de texto o IDE (por ejemplo, VS Code).
  • Un archivo llamado contact.php en el directorio del proyecto.
  • La función mail() de PHP habilitada (necesaria para enviar correos electrónicos).

Consejo: Para realizar pruebas localmente, quizá deba configurar los ajustes del servidor de correo.

Crear el formulario HTML básico

Crear el formulario HTML básico

Comience por crear la estructura HTML del formulario de contacto. Ejemplo:

Punto clave: Use el atributo required para asegurarse de que todos los campos estén completos antes del envío.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Contact Form</title>
</head>
<body>
  <h1>Contact Us</h1>
  <form action="contact.php" method="post">
    <label for="name">Name:</label><br>
    <input type="text" id="name" name="name" required><br><br>
    
    <label for="email">Email:</label><br>
    <input type="email" id="email" name="email" required><br><br>
    
    <label for="message">Message:</label><br>
    <textarea id="message" name="message" rows="5" required></textarea><br><br>
    
    <button type="submit" name="submit">Send Message</button>
  </form>
</body>
</html>

Procesar los datos del formulario

Procesar los datos del formulario

En el archivo contact.php, gestione el envío del formulario. Ejemplo:

Consejo: Use htmlspecialchars() para prevenir ataques XSS escapando los caracteres HTML.

<?php
  if (isset($_POST['submit'])) {
    $name = htmlspecialchars($_POST['name']);
    $email = htmlspecialchars($_POST['email']);
    $message = htmlspecialchars($_POST['message']);

    echo "Name: $name<br>";
    echo "Email: $email<br>";
    echo "Message: $message<br>";
  }
?>

Validar los datos introducidos

Validar los datos introducidos

Antes de procesarlos, valide los datos para asegurarse de que cumplan sus requisitos. Ejemplo:

Punto clave: Valide siempre los datos introducidos por el usuario para evitar datos no válidos o maliciosos.

<?php
  if (isset($_POST['submit'])) {
    if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
      echo "Invalid email address.";
      exit;
    }

    $name = htmlspecialchars($_POST['name']);
    $email = htmlspecialchars($_POST['email']);
    $message = htmlspecialchars($_POST['message']);

    echo "Valid input. Processing...";
  }
?>

Enviar el correo electrónico

Enviar el correo electrónico

Use la función mail() de PHP para enviar los datos del formulario a una dirección de correo electrónico. Ejemplo:

Consejo: Use una dirección válida en From para evitar problemas con la entrega del correo electrónico.

<?php
  if (isset($_POST['submit'])) {
    $to = "admin@example.com"; // Replace with your email
    $subject = "New Contact Form Submission";
    $message = "Name: $name\nEmail: $email\nMessage:\n$message";
    $headers = "From: $email";

    if (mail($to, $subject, $message, $headers)) {
      echo "Message sent successfully!";
    } else {
      echo "Failed to send the message.";
    }
  }
?>

Mejorar el formulario

Mejorar el formulario

Estas son algunas mejoras que puede agregar:

  • Muestre mensajes de éxito o error en el propio formulario.
  • Diseñe el formulario con CSS para mejorar la interfaz de usuario.
  • Implemente CAPTCHA para evitar envíos de spam.

Punto clave: Las mejoras mejoran la experiencia del usuario y la seguridad.

Depurar problemas del correo electrónico

Depurar problemas del correo electrónico

Si no se envía el correo electrónico, compruebe lo siguiente:

  • Asegúrese de que la función mail() de PHP esté habilitada.
  • Verifique que la dirección de correo electrónico de From sea válida.
  • Compruebe los registros de correo del servidor para detectar errores.

Consejo: Considere usar una biblioteca como PHPMailer para disponer de funciones avanzadas de correo electrónico.

¡Buen trabajo!

¡Buen trabajo!

¡Enhorabuena! Ha creado un formulario de contacto funcional en PHP. Ha aprendido a crear el formulario, procesar sus datos, validar los datos introducidos y enviar correos electrónicos. En la próxima lección, crearemos otro proyecto divertido para mejorar aún más sus conocimientos de PHP. ¡Continuemos programando!

Crear un formulario de contacto — ilustración 10

Preguntas frecuentes

¿La lección «Crear un formulario de contacto» es gratis?

Sí — el texto completo de «Crear un formulario de contacto» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 2 lecciones en total.

¿Qué aprenderé en «Crear un formulario de contacto»?

Cree un formulario de contacto que envíe mensajes por correo electrónico Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar PHP Academy?

No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 2.

¿Cuánto tiempo toma la lección «Crear un formulario de contacto»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de PHP Academy?

Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Crear una lista de tareas sencilla
  2. Crear un formulario de contacto
← Volver a PHP Academy