Al trabajar con formularios en PHP, un aspecto fundamental es validar los datos ingresados por el usuario antes de ejecutar cualquier operación con ellos. Esta validación se puede realizar en el mismo archivo PHP que presenta el formulario, antes de enviar los datos validados a otro archivo PHP para su procesado.
Permítenos mostrar cómo hacerlo en este tutorial. Y olvídate de constantemente copiar y pegar el código de este artículo. Hemos provisto botones de copia en cada fragmento de código.
Preparando el Formulario
En primer lugar, es necesario crear el formulario en HTML. Supongamos que queremos recolectar el nombre y el correo electrónico del usuario.
<form method="POST" action=""> <input type="text" name="nombre" placeholder="Nombre" required> <input type="email" name="email" placeholder="Correo Electrónico" required> <input type="submit" value="Enviar"> </form>
Al establecer el atributo de acción en vacío, haremos que el formulario se envíe a sí mismo para la validación.
Validación de Datos con PHP
Ahora, necesitamos recoger y validar los datos enviados por el formulario dentro del mismo archivo PHP.
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $nombre = filter_input(INPUT_POST, 'nombre', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "El formato del correo electrónico no es válido."; } // Si la validación es exitosa, procesamos los datos } ?>
En este código, primero verificamos si se ha enviado el formulario. Luego, recogemos y limpiamos los datos utilizando la función filter_input(). Para el correo electrónico, adicionalmente comprobamos si es un correo electrónico válido con la función filter_var().
Reenvío de Datos Validados
Después de que los datos son validados, se pueden reenviar a otro archivo PHP para ser procesados o ser guardados en una base de datos.
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { // Código de validación aquí... if ($nombre && filter_var($email, FILTER_VALIDATE_EMAIL)) { header('Location: procesar.php?nombre=' . urlencode($nombre) .'&email=' . urlencode($email)); exit(); } } ?>
Aquí, si la validación tiene éxito, reenviamos los datos usando la función header() para redireccionar a otra página (en este caso, ‘procesar.php’), y pasamos los datos a través de la URL.
En resumen, validar y reenviar formularios PHP en el mismo archivo y luego a otro es una técnica muy utilizada. Permite un manejo de datos más seguro y flexible, al validar los datos antes de que se utilicen para cualquier otra operación.