Foros del Web » Soporte técnico » Ayuda General »

[SOLUCIONADO] Error al enviar formulario de contacto php

Estas en el tema de Error al enviar formulario de contacto php en el foro de Ayuda General en Foros del Web. buenos dias, tengo este codigo de formulario html en el archivo index.html: Código HTML: <form id= "main-contact-form" name= "contact-form" method= "post" action= "envioemail.php" > <div ...
  #1 (permalink)  
Antiguo 13/08/2017, 11:03
Avatar de adiel244  
Fecha de Ingreso: noviembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Error al enviar formulario de contacto php

buenos dias,
tengo este codigo de formulario html en el archivo index.html:

Código HTML:
<form id="main-contact-form" name="contact-form" method="post" action="envioemail.php">
<div class="col-lg-6 animated animate-from-left" style="opacity: 1; left: 0px;">

<div class="form-group">
<label for="nombre">Su nombre (Requerido)</label>
<input id="name" type="text" name="nombre" class="form-control" placeholder="Nombre" required>
</div>
<div class="form-group">
<label for="email">Correo electronico</label>
<input type="email" id="email" name="email" class="form-control" placeholder="Email" required>
</div>
<div class="form-group">
<label for="asunto">Asunto</label>
<input type="text" id="subject" name="asunto" class="form-control" placeholder="Asunto" required>
</div>

</div>
<div class="col-lg-6 animated animate-from-right" style="opacity: 1; right: 0px;">
<div class="form-group">
<label for="mensaje">Su mensaje</label>
<textarea name="mensaje" id="message" class="form-control" rows="8" placeholder="Mensaje" required></textarea>
</div>
</div>
<div class="clearfix"></div>
<div class="text-center">

<button type="submit" class="btn btn-primary btn-lg btn-send-msg">Enviar Mensaje</button>

</div>

</form> 
y este codigo de php en el archivo envioemail.php

Código PHP:
<?php
$destino 
"[email protected]";
$nombre $_POST["nombre"];
$email $_POST["email"];
$asunto $_POST["asunto"];
$mensaje $_POST["mensaje"];
$contenido "Nombre: " $nombre "\nEmail: " $email "\nAsunto: " $asunto "\nMensaje: " $mensaje;
mail($destino"Email de servicomputowww"$contenido);
header("Location:#home");
?>
cuando lleno el formulario y le doy al boton de enviar me sale el mensaje de confirmacion respectivo, pero a mi correo solo llega el encabezado sin los datos recolectados:
Nombre:
Email:
Asunto:
Mensaje:

y el archivo de registro de errores de mi servidor reporta lo siguiente:
[13-Aug-2017 16:21:41 UTC] PHP Notice: Undefined index: nombre in /home/servicom/public_html/envioemail.php on line 3
[13-Aug-2017 16:21:41 UTC] PHP Notice: Undefined index: email in /home/servicom/public_html/envioemail.php on line 4
[13-Aug-2017 16:21:41 UTC] PHP Notice: Undefined index: asunto in /home/servicom/public_html/envioemail.php on line 5
[13-Aug-2017 16:21:41 UTC] PHP Notice: Undefined index: mensaje in /home/servicom/public_html/envioemail.php on line 6

ya he intentado con varios codigos y llevo dos dias probando una cosa y la otra que visto googleando pero no he dado con la solucion, si alguien me puede hechar una mano le agradeceria. aclaro que estoy utilizando un servidor web.
  #2 (permalink)  
Antiguo 13/08/2017, 11:55
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años
Puntos: 169
Respuesta: Error al enviar formulario de contacto php

Es porque no estas comprobando nada...
esto es una comprobacion simple:

Código PHP:
Ver original
  1. <?php
  2. if($_POST){ //SI EXISTEN DATOS POST
  3. $destino = "[email protected]";
  4. $nombre = $_POST['nombre'];
  5. $email = $_POST['email'];
  6. $asunto = $_POST['asunto'];
  7. $mensaje = $_POST['mensaje'];
  8. $contenido = "Nombre: " . $nombre . "\nEmail: " . $email . "\nAsunto: " . $asunto . "\nMensaje: " . $mensaje;
  9.  
  10. $envio = mail($destino, "Email de servicomputowww", $contenido);
  11. if($envio){ //Si se logra hacer el envio
  12. header("Location:#home");
  13. exit();
  14. }else{
  15. echo "hubo problemas con el envio";
  16. exit();
  17. }
  18. }else{
  19. echo "no hay datos que procesar";
  20. exit();
  21. }
  22. ?>
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 13/08/2017, 14:53
Avatar de adiel244  
Fecha de Ingreso: noviembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Error al enviar formulario de contacto php

Cita:
Iniciado por petit89 Ver Mensaje
Es porque no estas comprobando nada...
esto es una comprobacion simple:

Código PHP:
Ver original
  1. <?php
  2. if($_POST){ //SI EXISTEN DATOS POST
  3. $destino = "[email protected]";
  4. $nombre = $_POST['nombre'];
  5. $email = $_POST['email'];
  6. $asunto = $_POST['asunto'];
  7. $mensaje = $_POST['mensaje'];
  8. $contenido = "Nombre: " . $nombre . "\nEmail: " . $email . "\nAsunto: " . $asunto . "\nMensaje: " . $mensaje;
  9.  
  10. $envio = mail($destino, "Email de servicomputowww", $contenido);
  11. if($envio){ //Si se logra hacer el envio
  12. header("Location:#home");
  13. exit();
  14. }else{
  15. echo "hubo problemas con el envio";
  16. exit();
  17. }
  18. }else{
  19. echo "no hay datos que procesar";
  20. exit();
  21. }
  22. ?>
gracias por tu respuesta, ya lo he probado de la manera que me indicas, pero de esta forma no recibo ni siquiera el email con el encabezado y en el servidor web el archivo log de errores no registra ningún error.. la verdad no tengo mucho conocimiento del tema, no se que mas estaré haciendo mal..
  #4 (permalink)  
Antiguo 13/08/2017, 15:09
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años
Puntos: 169
Respuesta: Error al enviar formulario de contacto php

Algunos proveedores de internet para evitar el SPAM directo, requieren cabeceras en sus mensajes... prueba asi:
Código PHP:
Ver original
  1. <?php
  2.     if($_POST){ //SI EXISTEN DATOS POST
  3.     $destino = "[email protected]";
  4.     $nombre = $_POST['nombre'];
  5.     $email = $_POST['email'];
  6.     $asunto = $_POST['asunto'];
  7.     $mensaje = $_POST['mensaje'];
  8.     $contenido = "Nombre: " . $nombre . "\nEmail: " . $email . "\nAsunto: " . $asunto . "\nMensaje: " . $mensaje."";
  9.     // Cabeceras adicionales
  10.    $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
  11.    $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  12.    $cabeceras .= 'To: $destino' . "\r\n";
  13.    $cabeceras .= 'From: $email' . "\r\n";
  14.  
  15.  
  16.     $envio = mail($destino, "Email de servicomputowww", $contenido, $cabeceras);
  17.     if($envio){ //Si se logra hacer el envio
  18.     header("Location:#home");
  19.     exit();
  20.     }else{
  21.     echo "hubo problemas con el envio";
  22.     exit();
  23.     }
  24.     }else{
  25.     echo "no hay datos que procesar";
  26.     exit();
  27.     }
  28.     ?>

copia exactamente como lo he puesto aqui, prueba y nos cuentas...
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #5 (permalink)  
Antiguo 13/08/2017, 15:54
Avatar de adiel244  
Fecha de Ingreso: noviembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Error al enviar formulario de contacto php

Cita:
Iniciado por petit89 Ver Mensaje
Algunos proveedores de internet para evitar el SPAM directo, requieren cabeceras en sus mensajes... prueba asi:
Código PHP:
Ver original
  1. <?php
  2.     if($_POST){ //SI EXISTEN DATOS POST
  3.     $destino = "[email protected]";
  4.     $nombre = $_POST['nombre'];
  5.     $email = $_POST['email'];
  6.     $asunto = $_POST['asunto'];
  7.     $mensaje = $_POST['mensaje'];
  8.     $contenido = "Nombre: " . $nombre . "\nEmail: " . $email . "\nAsunto: " . $asunto . "\nMensaje: " . $mensaje."";
  9.     // Cabeceras adicionales
  10.    $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
  11.    $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  12.    $cabeceras .= 'To: $destino' . "\r\n";
  13.    $cabeceras .= 'From: $email' . "\r\n";
  14.  
  15.  
  16.     $envio = mail($destino, "Email de servicomputowww", $contenido, $cabeceras);
  17.     if($envio){ //Si se logra hacer el envio
  18.     header("Location:#home");
  19.     exit();
  20.     }else{
  21.     echo "hubo problemas con el envio";
  22.     exit();
  23.     }
  24.     }else{
  25.     echo "no hay datos que procesar";
  26.     exit();
  27.     }
  28.     ?>

copia exactamente como lo he puesto aqui, prueba y nos cuentas...
petit89 nuevamente gracias por tu respuesta, ya hice la prueba y sigue sin llegar ningun correo, el registro log de errores del servidor tampoco muestra nada.. sera que hay algo mal codificado en el index.html? en el php veo que el POST nombre va entre apostrofe (') y en el html esta entre comillas (") tiene algo que ver?
  #6 (permalink)  
Antiguo 14/08/2017, 09:18
Avatar de adiel244  
Fecha de Ingreso: noviembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Error al enviar formulario de contacto php

Ya logre solucionarlo, pero me toco usar otro codigo que encontre en este[URL="http://efren-martinez.me/blog/formulario-html5-responsive"] blog[/URL] que ademas me pareció muy bonito y mejor que el que estaba haciendo muchas gracias por la colaboración, ya se puede dar el tema como resuelto.

Etiquetas: contacto, formulario, php
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 03:11.