Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 3 de 3

Tema: Crear formulario de envío de email, muy bien explicado!

  1. #1
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    22

    Crear formulario de envío de email, muy bien explicado!

    Hola!

    Bueno, aquí os dejo un formulario muy simple, pero os lo explicaré todo, para que no os perdáis, el formulario lo que hará será enviaros los campos que pongáis al email que pongáis ;-)


    Primero de todo, crear el formulario, lo llamaremos formulario.php (viva la originalidad!)

    Y ahora creemos el formulario:
    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" dir="ltr" lang="es-ES"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>Formulario</title> 
    </head>
    <body>
    <form action="enviar.php" method="post">
    
    <label>Nombre: <input name="nombre" type="text" size="20" maxlength="10" /></label>
    
    <label>Email: <input name="email" type="text" size="20" maxlength="60" /></label>
    					
    <label>Teléfono: <input name="telefono" type="text" size="11" maxlength="9" /></label>
    					
    <label>Comentario: <textarea name="comentario" cols="35" rows="9"</textarea>
    					
    <button type="submit">Enviar</button></form>
    </body>
    </html>
    No me pararé a explicar los campos, ya que están explicados en CCTW: FORMULARIOS

    Como veis al principio del formulario pone "<form action="enviar.php" method="post">
    Quiere decir que hará lo que contenga el archivo enviar.php, así que lo creamos ahora:

    enviar.php
    Código:
    <? 
      {
       	//Esto es lo que recibiremos en el email
       	$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n"; 
       	$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n"; 
       	$cuerpo .= "Teléfono: " . $HTTP_POST_VARS["telefono"] . "\n";
            $cuerpo .= "Comentario: " . $HTTP_POST_VARS["comentario"] . "\n"; 
            
    
       	//Aquí se envía el correo al email
       	mail("TUEMAILAQUÍ","ASUNTO QUE APARECERÁ EN EL EMAIL",$cuerpo); 
    
       	//Aquí ponemos un mensaje de que llegó con éxito el formulario
       	echo "Gracias por tu comentario, se ha enviado correctamente."; 
    } 
    ?>
    Si os fijáis, al principio pusimos nombres a los campos, y en el enviar.php están esos mismos nombres, si al campo nombre por ejemplo le llamáramos "hola" en el enviar.php, quedaría así el primer código que aparece
    Código:
     $cuerpo .="Nombre: " . $HTTP_POST_VARS["hola"] . "\n";
    Con eso deducimos que para añadir un nuevo campo al email, tenemos que añadir:
    Código:
     $cuerpo .="Nombre: " . $HTTP_POST_VARS["NOMBRE DEL CAMPO DEL FORMULARIO"] . "\n";
    Última edición por Doodleo; 06/06/2011 a las 12:52

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    498
    Poder de Reputación
    21
    Bueno para empezar la ariable $HTTP_POST_VARS quedo obsoleta desde php 4.1.0, ademas de que es mucho mejor usar la variable $_POST que es superglobal ha $HTTP_POST_VARS que no lo es, podrias mejorar mucho ese formulario, pero para empezar deberia funcionar correctamente como lo has realizado.

  3. #3
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    22
    Es algo sencillo que funciona (lo he probado)
    Si al final como lo sencillo no hay nada! jeje

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •