Crear un formulario utilizando PHP

Aquí voy a explicar los mínimos conocimientos que se necesitan para crear un formulario simple utilizando lenguaje HTML y procesarlo con PHP.

Primero, es importante saber que el lenguaje PHP se puede ejecutar únicamente en un servidor.

Es decir, si nunca hiciste nada con PHP, y no tenés una página web subida en un hosting con acceso por FTP, vas a necesitar comenzar por un tutorial de “Primeros pasos en PHP“, o un poco más difícil los que se explican en “La manera correcta”

Es decir que empezamos pensando que ya hiciste algún programita mínimo con PHP.

También, que ya practicaste un poco creando un formulario que no utilice PHP.

Primer paso, el formulario

Para crear un formulario de contacto, por ejemplo, vamos a necesitar dos archivos. En uno va a estar el formulario en sí, en lenguaje HTML. Este podría ser el código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>Enviar mensaje</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="enviamail.php" method="post" id="formulario_contacto">
 <label for="nombre">Nombre</label>
 <input name="nombre" id="nombre" type="text" size="40" value=" " />
 
 <label for="correo">Correo electrónico</label>
 <input name="correo" id="correo" type="text" size="40" value=" " />
 
 <label for="mensaje">Escriba su mensaje</label>
 <textarea name="mensaje" id="mensaje" rows="5" cols="30" ></textarea>
 
 <div><input name="enviar" id="enviar" type="submit" value="Enviar mensaje" /></div>
 </form>
</body>
</html>

Los encabezados de HTML y tipo de codificación son obligatorios para crear un documento válido. La parte del formulario comienza en la sentencia form, y en la acción se utiliza el nombre del archivo que va a procesar el formulario (enviarmail.php), que está en lenguaje PHP.

Segundo paso, el programa que procesa los datos del formulario

Este archivo (enviarmail.php) recibe la información enviada al pulsar el botón “Enviar mensaje”. ¿Cómo utiliza esa información? Utilizando $_POST y el nombre del objeto en el formulario. Aquí guardamos los tres valores en tres variables:

$nombre = $_POST[‘nombre‘];
$mail = $_POST[‘correo‘];
$mensaje = $_POST[‘mensaje‘];

Este sería el contenido completo del archivo PHP, al cual le falta mucho trabajo todavía, porque no controla la validez de los datos, no da error si algo sale mal, etc.:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Enviar mensaje</title>
</head>
<body>
<?php
////Tomar el valor recibido y almacenarlo en variables/////
$nombre = $_POST['nombre'];
$mail = $_POST['correo'];
$mensaje = $_POST['mensaje'];
 
///////Configuración del mensaje: destinatario y asunto/////
$mail_destinatario = 'blablablablabla@gmail.com';
$asunto = "Mensaje enviado desde el formulario";
///////Fin configuración//
///En esta próxima línea es donde verdaderamente se envía el mail///
mail ($mail_destinatario, $asunto, $mensaje);
echo "Mensaje enviado"
?>
</body>
</html>

Tercer paso, aprender mucho más

Hacer un formulario que no permita código HTML (para evitar códigos maliciosos), que valide datos (para obligar a completar algunos campos o evaluar el contenido), o que guarde la información de diversas maneras (creando un archivo PDF, un archivo de texto o una base de datos) serán nuestros próximos pasos.

Artículos sobre cómo crear formularios accesibles:

Leave a Reply

Your email address will not be published. Required fields are marked *