¿Cómo validar campos en un formulario en PHP?

turned on computer monitor displaying text

Escrito por Lalo Márquez

diciembre 4, 2022

Para validar campos en un formulario en PHP, puedes usar la función empty() para comprobar si un campo ha sido dejado en blanco y la función filter_var() para validar el formato de un campo (por ejemplo, para comprobar si una dirección de correo electrónico es válida).

Aquí hay un ejemplo de cómo validar campos de un formulario en PHP:

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $errors = [];

  // Validar el nombre
  if (empty($_POST['name'])) {
    $errors[] = "El campo nombre es obligatorio";
  }

  // Validar el email
  if (empty($_POST['email'])) {
    $errors[] = "El campo email es obligatorio";
  } elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    $errors[] = "El formato del email es inválido";
  }

  // Validar el mensaje
  if (empty($_POST['message'])) {
    $errors[] = "El campo mensaje es obligatorio";
  }

  // Si no hay errores, enviar el mensaje
  if (empty($errors)) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];

    $to = "[email protected]";
    $subject = "Mensaje de contacto";
    $headers = "De: $name <$email>";

    if (mail($to, $subject, $message, $headers)) {
      echo "¡Mensaje enviado con éxito!";
    } else {
      echo "Error al enviar el mensaje";
    }
  } else {
    // Si hay errores, mostrarlos
    foreach ($errors as $error) {
      echo $error . "<br>";
    }
  }
}

?>

En este ejemplo, se comprueba si el campo name está vacío y si el campo email tiene un formato válido de dirección de correo electrónico. Si cualquiera de estas comprobaciones falla, se agrega un mensaje de error a una matriz de errores. Si no hay errores, se envía el mensaje. Si hay errores, se muestran al usuario.

Puedes añadir más validaciones según las necesidades de tu formulario. Por ejemplo, puedes comprobar la longitud mínima o máxima de un campo, o puedes usar expresiones regulares para validar un formato específico.

Comentarios
También te puede interesar:
¿Cómo crear un formulario de contacto en PHP?

También te podría interesar…

0 Comments