martes, 4 de junio de 2019

Formulario que envía un email con el método GET en PHP

Hemos creado un formulario sencillo en HTML que envía los datos recogidos mediante el método GET a un script en PHP. El fichero de extensión php recoge los datos y los envía a una dirección de correo especificada.

Código HTML

El archivo se llama formulario1.php y está disponible en el siguiente enlace. Aunque la extensión es php se trata de un archivo html normal.

 <!DOCTYPE html>  
 <html lang="es">  
 <head>  
  <meta charset="utf-8">  
  <title>formularioPHP</title>  
 </head>  
 <body>  
  <form action="actua1.php">  
   <label for="nombre">Nombre: </label>  
   <input type="text" name="nombre"><br>  
   <label for="mensaje">Mensaje: </label>  
   <textarea name="mensaje"></textarea><br>  
   <input type="submit" value="Enviar"><br>  
  </form>  
  <p>Los datos del formulario serán enviados por correo.</p>  
 </html>  

Observe que en la línea que comienza el form se indica action="actua1.php". Esto lo que hace es ejecutar este archivo al pulsar el botón que permite enviar el formulario.

No se ha indicado ningún metodo por lo que por defecto se usará el método GET. También podríamos haber indicado explícticamente que el método utilizado es el método GET modificando la primera línea del form por la siguiente.

<form action="actua1.php" method="get">

Este es el formulario sencillo que hemos creado.


Código PHP

El contenido del fichero actua1.php es el siguiente.

 <?php  
 $nombre=$_GET['nombre'];  
 $mensaje=$_GET['mensaje'];  
 $para="micorreo@misitio.com"; //ponga aquí su correo  
 echo "Hola ".$nombre.", hemos recibido tu mensaje: <br>";  
 echo $mensaje."<br>";  
 mail($para,'Mensaje de prueba',$mensaje);  
 echo "Mensaje enviado a: ".$para;  
 ?>  

Será necesario que cambie la línea 4 del código anterior poniendo la dirección de correo electrónico a la que desee que se envíen los datos del formulario.

Al punsar sobre el botón 'Enviar' recibiremos la siguiente página.

La URL recibida es la siguiente.


El método utilizado es GET, este es el motivo por el que veremos en la URL los datos recogidos en el formulario.

Si el servidor de correo está en uso recibiremos un email en la dirección indicada dentro del código PHP.


En este caso no se ha indicado en el códgio PHP la dirección de respuesta por lo que el destinatario del correo verá unicamente una dirección de correo del servidor que no será de gran utilidad y no permitirá que se pueda responder al remitente, ya que éste no se ha indicado.


No hay comentarios:

Publicar un comentario