Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] formulario de contacto no da algunos resultados

Estas en el tema de formulario de contacto no da algunos resultados en el foro de PHP en Foros del Web. Hola gente. Tengo el siguiente problema. debe ser fácil de resolver pero estoy trancado acá. El siguiente formulario de contacto. cuando llega a mi mail ...
  #1 (permalink)  
Antiguo 06/01/2016, 10:08
 
Fecha de Ingreso: mayo-2014
Mensajes: 64
Antigüedad: 9 años, 11 meses
Puntos: 1
formulario de contacto no da algunos resultados

Hola gente. Tengo el siguiente problema. debe ser fácil de resolver pero estoy trancado acá.
El siguiente formulario de contacto. cuando llega a mi mail no me da el apellido ni el mail de quien lo manda. ¿cómo lo resuelvo?
Mil gracias!


Código PHP:
Ver original
  1. <FORM id="contacto" name="contacto" action="enviar.php" method="POST">
  2. <label>Nombre</label>
  3. <input type="text" name="nombre" required placeholder="Escribe tu nombre aquí" required>
  4. <label>Apellido</label>
  5. <input type="text" name="apellidos" required placeholder="Escribe tu apellido aquí" required>
  6. <label>E-mail</label>
  7. <input type="email" name="email" required placeholder="Tu e-mail" required>
  8.   <label>Mensaje</label>
  9. <input class="mensaje" type="text" name="mensaje" required placeholder="Escribe tu mensaje aquí" required>
  10.  
  11.     <input type="submit">
  12.  
  13. </FORM>
  14.  
  15. [HIGHLIGHT="PHP"]
  16. $nombre = $_POST['nombre'];
  17. $mail = $_POST['mail'];
  18.  
  19.  
  20. $header = 'From: ' . $email . " \r\n";
  21. $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  22. $header .= "Mime-Version: 1.0 \r\n";
  23. $header .= "Content-Type: text/plain";
  24.  
  25. $mensaje = "Este mensaje fue enviado por " . $nombre . "  \r\n";
  26. $mensaje .= "Su e-mail es: " . $mail . " \r\n";
  27. $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
  28. $mensaje .= "Enviado el " . date('d/m/Y', time());
  29.  
  30. $para = '[email protected] ';
  31. $asunto = 'Asunto del mail recibido';
  32.  
  33. mail($para, $asunto, utf8_decode($mensaje), $header);
  34.  
  35. echo 'Mensaje enviado correctamente';
[/HIGHLIGHT]
  #2 (permalink)  
Antiguo 06/01/2016, 11:05
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 2 meses
Puntos: 21
Respuesta: formulario de contacto no da algunos resultados

Tienes errores "de dedo" en tu código. En tu formulario estás definiendo el campo de email como "email" pero luego en tu código PHP lo estás pidiendo como "$_POST['mail']" y lo envías a la variable "$mail" pero estás formando el header con una variable "$email" que no existe.
  #3 (permalink)  
Antiguo 06/01/2016, 12:02
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: formulario de contacto no da algunos resultados

Añadiendo a la respuesta de Carlillos que es la correcta. No veo en ningun momento que recuperes el post de apellidos ¿Entonces cómo quieres que te lo muestre? Jajajaja, saludos :D
  #4 (permalink)  
Antiguo 06/01/2016, 12:12
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: formulario de contacto no da algunos resultados

Trabaja en las lineas 16 y 17:
Código PHP:
Ver original
  1. $nombre = $_POST['nombre'];
  2. $mail = $_POST['mail'];
en la variable $mail tomas los datos del post de mail (lo cual no existe ya que tu etiqueta es email), y en la variable nombres solo timas ekl valor de nombre mas no de apellido deberias tambien modificarlo, quedando asi:

Código PHP:
Ver original
  1. $nombre = $_POST['nombre'].' '.$_POST['apellidos'];
  2. $mail = $_POST['email'];

y listo.
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #5 (permalink)  
Antiguo 06/01/2016, 12:24
 
Fecha de Ingreso: mayo-2014
Mensajes: 64
Antigüedad: 9 años, 11 meses
Puntos: 1
Respuesta: formulario de contacto no da algunos resultados

Gracias! error de dedo tal cual me decías.
Ya está arreglado, ahora lo único que me queda es solucionar que en el mail no me llega el apellido.
Ahora lo tengo así:
Código PHP:
Ver original
  1. $nombre = $_POST['nombre'];
  2. $apellidos = $POST['apellidos'];
  3. $mail = $_POST['mail'];
  4.  
  5.  
  6. $header = 'From: ' . $email . " \r\n";
  7. $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  8. $header .= "Mime-Version: 1.0 \r\n";
  9. $header .= "Content-Type: text/plain";
  10.  
  11. $mensaje = "Este mensaje fue enviado por " . $nombre . $apellidos ."   \r\n";
  12. $mensaje .= "Su e-mail es: " . $mail . " \r\n";
  13. $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
  14. $mensaje .= "Enviado el " . date('d/m/Y', time());
  15.  
  16. $para = 'mi [email protected] ';
  17. $asunto = 'Asunto del mail recibido';
  18.  
  19. mail($para, $asunto, utf8_decode($mensaje), $header);
  20.  
  21. echo 'Mensaje enviado correctamente';
  #6 (permalink)  
Antiguo 06/01/2016, 12:40
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: formulario de contacto no da algunos resultados

De nuevo error de dedo. Es.
Código PHP:
Ver original
  1. $apellidos = $_POST['apellidos'];

Saludos :D
  #7 (permalink)  
Antiguo 06/01/2016, 12:51
 
Fecha de Ingreso: mayo-2014
Mensajes: 64
Antigüedad: 9 años, 11 meses
Puntos: 1
Respuesta: formulario de contacto no da algunos resultados

pffff. tema resuelto.
mil gracias!!!

Etiquetas: contacto, formulario, resultados
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 13:10.