Foros del Web » Programando para Internet » PHP »

enviar formulario a email

Estas en el tema de enviar formulario a email en el foro de PHP en Foros del Web. Buenas tengo un proyecto de web personal y quiero que mi formulario de contacto pueda ser enviado a un correo electrónico por si alguien decidiera ...
  #1 (permalink)  
Antiguo 28/03/2016, 04:18
 
Fecha de Ingreso: diciembre-2012
Ubicación: Cáceres
Mensajes: 22
Antigüedad: 11 años, 4 meses
Puntos: 0
enviar formulario a email

Buenas tengo un proyecto de web personal y quiero que mi formulario de contacto pueda ser enviado a un correo electrónico por si alguien decidiera contactarme o algo, tengo la web subida a hostinger os voy a poner el link, me dice que la línea 2 del código me falla.

http://josecabrera.esy.es/html/contacto.html

Código PHP

Código PHP:
Ver original
  1. <?php
  2.     if(isset($_POST['nombre'])&&($_POST['correo']!='')&&($_POST['mensaje']!='')($_POST['telefono']!='')){
  3.         // La función isset() nos permite comprobar si una variable está definida, devolviendo true si lo estuviese.
  4.         // Cada variable tiene un nombre y es el name de los input de nuestro formulario en el fichero html
  5.         // && COn esto indicamos que si además de la variable nombre vemos si la variable correo también está rellena.
  6.         //!='' Con esto indicamos que si email es diferente a vacío... hará... que solo se envié el formulario siempre que esté escrito algo en esos campos
  7.         &nombre = $_POST['nombre']
  8.         &correo = $_POST['correo']      // Si todos los campos anteriores están rellenos... Creamos estas variables para cada uno de los campos por simplicidad
  9.         &mensaje = $_POST['mensaje']    // Aquí indicamos que dichas variables contengan los valores de los campos creados arriba de tal manera que esto será más corto en código
  10.         &telefono = $_POST['telefono']
  11.         // Definimos el contenido del mensaje
  12.         &titulo = "Mensaje de la web enviado con php";
  13.         &contenido =            // Aquí configuramos el mensaje que nos llegará a nuestro correo electrónico del formulario relleno.
  14.         '
  15.                     <html>
  16.                     <head>
  17.                     <title></title>
  18.                     </head>
  19.                     <body>
  20.                     <h1>Has recibido un mensaje de la web</h1>
  21.                     <p>El visitante <strong>'.$nombre.'</strong> te ha enviado el siguiente mensaje:</p>
  22.                     <p>Mensaje: '.$mensaje.' <br><br> Puedes ponerte en contacto al email: '.$correo.' </p>
  23.                     <hr>
  24.                     <p>Este mensaje ha sido generado automáticamente desde www.josecabrera.es</p>
  25.                     </body>
  26.                     </html>';
  27.                         // Con esto configuramos el encabezado del envío
  28.                     $encabezado = "Mine-Version: 1.0\r\n";
  29.                     $encabezado .= "Content-type: text/html; charset=utf-8\r\n";
  30.                     $encabezado .= "From: josecabrera.es <[email protected]>\r\n";
  31.                     $encabezado .= "Reply-To: [email protected]\r\n";
  32.  
  33.                     // envío de email mediante php
  34.                     $envio = mail($correo,$titulo,$contenido,$encabezado);
  35.  
  36.                     if ($envio == true) {
  37.                         echo "El mensaje se ha enviado correctamente";
  38.                     }
  39.                     else{
  40.                         echo "Se ha producido un error, vuelve a intentarlo";
  41.  
  42.                     }
  43.  
  44. }
  45.  
  46. else {
  47.  
  48.     echo "Ha habido un error, completa los campos del formulario";
  49.  
  50. }
  51.  
  52. ?>
  #2 (permalink)  
Antiguo 28/03/2016, 04:56
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 8 meses
Puntos: 145
Respuesta: enviar formulario a email

Prueba con esto:

Código PHP:
Ver original
  1. if (isset($_POST['nombre'])) and $_POST['correo']!='' and $_POST['mensaje']!='' and $_POST['telefono']!=''{

Por cierto, tienes unas brechas de seguridad importantes.
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 28/03/2016, 07:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: enviar formulario a email

Hola joseatm90,

Fíjate que donde recibes las variables del formulario, te falta ; al final de cada línea.

El resto, a pesar de enviarlo con mail (que a mi no me convence) parece que está bien. Yo te recomiendo que uses PHPMailer con envío SMTP, es más eficaz y los servidores no lo toman tanto como spam.

Espero que te sirva.

Etiquetas: email, formulario, html, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:05.