¿Cómo creo un formulario con PHP?
Importante: Si recibió nuestro correo electrónico sobre la actualización de formularios de sitios web mediante FormMail.pl, siga esta guía para reemplazar el script anterior con una alternativa moderna y segura antes del 30 de noviembre de 2025. Si su sitio tiene varios formularios que usan FormMail.pl, cada formulario debe actualizarse.
Un formulario permite a los visitantes enviar información directamente a su dirección de correo electrónico, ya sea un formulario de contacto, una encuesta de comentarios o un formulario de pedido. En esta guía, lo guiamos a través de la creación de uno usando PHP y cómo puede combinar HTML y PHP script.
Nota: El código utilizado en esta guía es solo un ejemplo de cómo se podría usar el formulario.
Ajusta los diferentes campos y direcciones de correo electrónico para que coincidan con tu sitio web.
- Paso 1 - Agregue el código del formulario al archivo PHP
- Paso 2 - Cambia y personaliza el código del formulario
- Paso 3 - Guardar y cargar los cambios
- Paso 4 - Prueba el formulario
Paso 1 - Agregue el código del formulario al archivo PHP
-
Abre el archivo PHP donde quieres agregar o editar el formulario. Usa un editor de texto, como el Bloc de notas (Windows) o TextEdit (macOS), o un editor HTML, como Visual Studio Code.
Propina: Si su formulario actual está en un archivo .html, puede convertirlo fácilmente en un archivo .php simplemente cambiando la extensión del archivo. Por ejemplo, si se llama al archivo contact.html, renombrándolo a contact.php es suficiente.
Al cambiar el nombre del archivo se cambia la URL de la página, recuerde actualizar cualquier enlace que apunte a esta página para evitar enlaces rotos (errores 404).
-
Copia el código del formulario HTML proporcionado y pégalo en la ubicación deseada dentro del archivo PHP. Asegúrate de que el formulario esté ubicado dentro de la sección
<body>del documento PHP.Haz clic para ver el código que puedes insertar en tu sitio web:
-
Código para el formulario
<?php
// if "email" variable is filled out, send email
if (isset($_REQUEST['email'])) {
//Email information
$to = "recipient@example.com";
$subject = "Message from website";
$message = "From: " . $_REQUEST['name'] . "<br>" .
"Email: " . $_REQUEST['email'] . "<br>" .
"Message:" . $_REQUEST['message'];
$headers = [
'From' => 'sender@example.com',
'X-Sender' => 'sender@example.com',
'X-Mailer' => 'PHP/' . phpversion(),
'X-Priority' => '1',
'MIME-Version' => '1.0',
'Content-Type' => 'text/html; charset=utf-8'
];
//Send email
mail($to, $subject, $message, $headers);
//Email response
echo "Thank you for contacting us!"; }
//if "email" variable is not filled out, display the form
else { ?>
<form method="post" >
<label for="name">Name* </label><br />
<input name="name" required="true" /><br />
<label for="email">Email* </label><br />
<input name="email" required="true" /><br />
<label for="message">Your message*</label><br />
<textarea cols="100" rows="10" name="message" required="true"></textarea><br />
<p><small>* Required fields</small></p>
<input type="submit" value="Send" />
</form>
<?php } ?>
-
Paso 2 - Cambia y personaliza el código del formulario
Cambios necesarios en el formulario:
línea 6 → Reemplace la dirección de correo electrónico aquí con la dirección de correo electrónico donde desea recibir los envíos del formulario.
Línea 14 → Esta es la dirección de correo electrónico del remitente. Tiene que ser una dirección de correo electrónico de tu dominio. Por ejemplo, para el dominio one-example.com, debe ser @one-example.com.
línea 15 → Esta es la dirección de correo electrónico donde se enviarán las respuestas.
Consejo: Te recomendamos mantener estas direcciones de correo electrónico iguales para evitar que los correos electrónicos terminen en spam.
Personalización y cambios opcionales en el formulario:
línea 7 → Esta es la línea de asunto del correo electrónico.
línea 26 → Este es el mensaje de agradecimiento al remitente del formulario.
Líneas 32, 35, 38 → Este es el texto que aparece encima de los campos de entrada. Para indicar que el campo es obligatorio, tienes que añadir manualmente el asterisco (*).
En las líneas 33, 36 y 39 siguientes, el código es lo que realmente lo hace obligatorio. Cambia "true" a "false" para que el campo no sea obligatorio:
required="true"
línea 41 → Este texto se muestra debajo del formulario y puede ser cualquier mensaje, generalmente utilizado para hacer referencia al asterisco (*) para los campos de entrada obligatorios (en nuestro ejemplo, líneas 32, 35 y 38).
línea 43 → Este es el texto del botón.
Las líneas 2, 5, 22, 25, 28 son solo comentarios y se pueden eliminar si es necesario.
Paso 3 – Guardar y cargar los cambios
- Guarda los cambios en el archivo PHP después de agregar o editar el código del formulario.
- Sube el archivo PHP actualizado al servidor web usando un cliente SFTP o el File Manager de one.com.
Paso 4 - Prueba el formulario
Para garantizar que el nuevo formulario funcione correctamente, abra su sitio web en un navegador y vaya a la página con su formulario de contacto. Complete el formulario con la información de prueba y envíelo usando el botón. Verifique la dirección de correo electrónico especificada para el formulario para confirmar que el mensaje de prueba llega.
Artículos relacionados: