Foros del Web » Programando para Internet » PHP »

Formulario de contacto sitio web

Estas en el tema de Formulario de contacto sitio web en el foro de PHP en Foros del Web. Hola, consulto con ustedes los expertos. Tengo un sitio hecho en html. Tengo hosting en Godaddy, y me cambiaron de plan, según entiendo mi plan ...
  #1 (permalink)  
Antiguo 14/08/2016, 00:28
Avatar de auroaff  
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 48
Antigüedad: 16 años, 1 mes
Puntos: 1
Pregunta Formulario de contacto sitio web

Hola, consulto con ustedes los expertos. Tengo un sitio hecho en html. Tengo hosting en Godaddy, y me cambiaron de plan, según entiendo mi plan tenía solo version php5, y ahora tengo php5.4 Entonces asumo que esto, causó que mi formulario de contacto ya no funcione, y en verdad no sí algo en el código se puede modificar, o si esto no tiene ninguna relación, ya que antes si me funcionaba. O si debo buscar otro formulario, y si fuera así, agradecería me pasaran un link de donde obtenerlo.

codigo html:
Código HTML:
<h3 class="blanco">Contáctanos</h3>
    
     <form id="form1" name="form1" method="post" action="enviar_form.php">
     
      <p>&nbsp;</p>
      <p>Si deseas mayor información de algunos de nuestros servicios, con gusto nos pondremos en contacto.</p>
  <p>
    <label for="nombre">Nombre</label>
    <input name="nombre" type="text" id="nombre" size="30" />
  </p>
  <p>
    <label for="empresa">Empresa</label>
    <input name="empresa" type="text" id="empresa" size="30" />
  </p>
  <p>
    <label for="email">Email</label>
    <input name="email" type="text" id="email" size="30" />
  </p>
    <p>
    <label for="telefono">Telefono</label>
    <input name="telefono" type="text" id="telefono" size="30" />
  </p>
  <p>
    <label for="mensaje">Mensaje</label>
    <textarea name="mensaje" id="mensaje" cols="45" rows="5"></textarea>
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Enviar" />
  </p>
</form> 
el codigo de php para capturar datos:

Código HTML:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php
$nombre 	= $_POST['nombre'];
$email 		= $_POST['email'];
$empresa 	= $_POST['empresa'];
$telefono	= $_POST['telefono']; 


$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Su telefono es: " . $telefono . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Contacto desde Pagina';

mail($para, $asunto, utf8_decode($mensaje), $header);

?>

<script> 
var targetURL="http://www.misitio.com/gracias.html" 
window.location=targetURL 
</script>
</body>
</html> 
Gracias por cualquier ayuda,
  #2 (permalink)  
Antiguo 14/08/2016, 07:44
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: Formulario de contacto sitio web

Pues deberias darnos el error que se genera, quitando el codigo de javascript que hace la redirección inmediata deberia mostrarte el error o revisar el error_log en el servidor.. que "ahora" tengas PHP 5.4 te pone muy abajo aun, ya que es una version muuuuy pasada, mejorando un poco tu codigo, puedes agregar comprobación de datos POST y dar un orden adecuado a la estructura...

Código PHP:
Ver original
  1. <?php
  2. if($_POST){
  3. $nombre     = $_POST['nombre'];
  4. $email = $_POST['email'];
  5. $empresa = $_POST['empresa'];
  6. $telefono   = $_POST['telefono'];
  7.  
  8.  
  9. $header = 'From: ' . $email . " \r\n";
  10. $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  11. $header .= "Mime-Version: 1.0 \r\n";
  12. $header .= "Content-Type: text/plain";
  13.  
  14. $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
  15. $mensaje .= "Su e-mail es: " . $email . " \r\n";
  16. $mensaje .= "Su telefono es: " . $telefono . " \r\n";
  17. $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
  18. $mensaje .= "Enviado el " . date('d/m/Y', time());
  19.  
  20. $asunto = 'Contacto desde Pagina';
  21.  
  22. $envio = mail($para, $asunto, utf8_decode($mensaje), $header);
  23. if($envio){
  24. ?>
  25. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  26. <html xmlns="http://www.w3.org/1999/xhtml">
  27. <head>
  28. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  29. <title>Documento sin título</title>
  30. </head>
  31.  
  32. <body>
  33.  
  34. <script>
  35. var targetURL="http://www.misitio.com/gracias.html"
  36. window.location=targetURL
  37. </script>
  38. </body>
  39. </html>
  40.  
  41. <?php
  42. }else{
  43. echo "Error con envio";
  44. }
  45. }
  46. ?>

Si no te funciona deberias contactar a tu proveedor y preguntar si ha agregado alguna restricción al envio de correos usando mail() de PHP
Saludos!
__________________
█ 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 14/08/2016, 15:55
Avatar de auroaff  
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 48
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Formulario de contacto sitio web

Hola gracias por la respuesta. Según veo en el cpanel, puedo cambiar la versión de php hasta 5.6, ¿eso sería mejor, o no?

El uso del formulario, no me da error, es solo que al llenarlo y oprimir boton enviar, los datos no llegan, por eso preguntaba si algo tenía que ver la versión de php, o si ese tipo de inconvenientes se deben revisar de otra forma.
  #4 (permalink)  
Antiguo 14/08/2016, 23:47
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Formulario de contacto sitio web

Cita:
Iniciado por auroaff Ver Mensaje
Hola gracias por la respuesta. Según veo en el cpanel, puedo cambiar la versión de php hasta 5.6, ¿eso sería mejor, o no?

El uso del formulario, no me da error, es solo que al llenarlo y oprimir boton enviar, los datos no llegan, por eso preguntaba si algo tenía que ver la versión de php, o si ese tipo de inconvenientes se deben revisar de otra forma.
tiene que ver con la version, me paso algo igual y tuve que descargar la clase phpmailer
y cambiar el codigo de envio
https://github.com/PHPMailer/PHPMailer

pero si quieres ahorrarte eso deberias bajar a la version en la que estabas, y se deberia solucionar el problema.

tambien preguntale si tiene activado los modulos SPF and DKIM que sirven para la buena reputacion de los correos
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra

Etiquetas: contacto, formulario
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 20:31.