Foros del Web » Programando para Internet » PHP »

problema con formulario

Estas en el tema de problema con formulario en el foro de PHP en Foros del Web. Saludos, la razón por el cual acudo aquí es por que tengo un problema con mi formulario de contacto mi formulario solo funciona en google ...
  #1 (permalink)  
Antiguo 08/10/2013, 10:45
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta problema con formulario

Saludos,
la razón por el cual acudo aquí es por que tengo un problema con mi formulario de contacto mi formulario solo funciona en google crome mientras que en otros navegadores no me funciona y la vrd no c en que este mal mi código que solo permite salida en google crome anexo mi código y espero alguien me ayude a encontrar el problema se que es algo de compatibilidad por que en google funciona muy bien solo que en otros navegadores no espero me puedan ayudar.

aquí mi código::
Código PHP:
Ver original
  1. <?php
  2.     if(isset($_POST["submit"])){
  3.         if($_POST["nombre"] == " "){
  4.             $errors[1] = "<span class='error'>Ingrese su nombre</span>";
  5.         }else if($_POST["email"] == '' or !preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/",$_POST["email"])){
  6.             $errors[2] = "<span class='error'>Ingrese un email correcto</span>";
  7.         }else if($_POST["asunto"] == " "){
  8.             $errors[3] = "<span class='error'>Ingrese un asunto</span>";
  9.         }else if($_POST["mensaje"] == " "){
  10.             $errors[4] = "<span class='error'>Ingrese un mensaje</span>";
  11.         }else{
  12.             $dest = "[email protected]"; //Email de destino
  13.             $nombre = $_POST["nombre"];
  14.             $email = $_POST["email"];
  15.             $asunto = $_POST["asunto"]; //Asunto
  16.             $header = "From:".$_POST["email"]."\r\n"; //Quien envia?
  17.             $headers .= "X-Mailer: PHP\r\n";
  18.             $headers .= "MIME-Version: 1.0" . "\r\n";
  19.             $headers .= "Content-Type: text/plain"; //
  20.             $cuerpo .= "Este mensaje fue enviado por: " .$nombre. "\r\n";
  21.             $cuerpo .="Correo: ".$email."\r\n";
  22.             $cuerpo .= "Asunto: ".$asunto." \r\n";
  23.             $cuerpo .="Mensaje: ".$_POST['mensaje']." \r\n";
  24.             $cuerpo .= "Enviado el " . date('d/m/Y', time());
  25.             if(mail($dest,$asunto,$cuerpo,$headers)){
  26.                 $result = "<div class='result_ok'>Tu Mensaje fue enviado correctamente </div>";
  27.                 // si el envio fue exitoso reseteamos lo que el usuario escribio:
  28.                 $_POST["nombre"] = " ";
  29.                 $_POST["email"] = " ";
  30.                 $_POST["asunto"] = " ";
  31.                 $_POST["mensaje"] = " ";
  32.             }else{
  33.                 $result = "<div class='result_fail'>Hubo un error al enviar el mensaje </div>";
  34.             }
  35.         }
  36.     }
  37.  
  38.  ?>
  39.       <form id="form1" name="form1" method="post" action="" style="position: absolute; left: 83px; top: 35px; height: 423px; width: 260px;" >
  40. <font size="5" face="OdessaShadow">
  41. <p align="center">Nombre:</p></font>
  42. <input type="text" class="nombre" name="nombre" size=38><?php echo $errors[1] ?>
  43. <font size="5" face="OdessaShadow">
  44. <p align="center">Email:</p></font>
  45. <input type="text" class="email" name="email" size=38 ><?php echo $errors[2] ?>
  46. <font size="5" face="OdessaShadow">
  47. <p align="center">Asunto:</p></font>
  48. <input type="text" class="asunto" name="asunto" size=38 ><?php echo $errors[3] ?>
  49. <br /><br />
  50. <input name="submit" type=image value="Enviar" src="images/boton.png" width="70" height="70" hspace="108">
  51. <font size="5" face="OdessaShadow">
  52.         <p align="center" style="position: absolute; left: 433px; top: 103px; height: 69px;">Mensaje:<?php echo $errors[4] ?></p>
  53.               </font>
  54. <textarea class='mensaje' name="mensaje" cols="31" rows="10" id="mensaje" style="position: absolute; left: 350px; top: 172px; width: 268px; height: 141px;"></textarea>
  55. <div style="position: absolute; left: 350px; top: 323px; width: 287px; height: 72px; font-weight: normal;"><font size="5" face="OdessaShadow"><?php echo $result; ?></font></div>
  56.       </form>
  #2 (permalink)  
Antiguo 08/10/2013, 11:01
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: problema con formulario

Hola.

No deberias usar html que es considerado obsoleto.
font
face
align

Veo esas 3 de botepronto.

Usa CSS.

En el cierre del primer if agregale un mensaje en caso de que no se reciba.

Código PHP:
Ver original
  1. $result = "<div class='result_fail'>Hubo un error al enviar el mensaje </div>";
  2.             }
  3.         }
  4.     }else{echo 'NO RECIBI SUBMIT';}

Saludos

Última edición por Erick_MD9; 08/10/2013 a las 11:06
  #3 (permalink)  
Antiguo 08/10/2013, 11:08
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: problema con formulario

ok gracias corrijo y pruebo Erick_MD9
  #4 (permalink)  
Antiguo 08/10/2013, 11:12
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: problema con formulario

no aun me sigue dando problemas mi formulario funciona en google crome pero en otro navegador no
  #5 (permalink)  
Antiguo 08/10/2013, 11:36
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: problema con formulario

Ok.

Prueba cambiando el form action.

action="#"
ó
agregandole la url
action="mi_url.php"

pódrias tener problemas, dependiendo del <!DOCTYPE> que has establecido.

Saludos
  #6 (permalink)  
Antiguo 08/10/2013, 12:15
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: problema con formulario

mmm no
aun nada
  #7 (permalink)  
Antiguo 08/10/2013, 12:49
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: problema con formulario

Hola.

Lo he probado así.
Y es claramente la primera recomendación que te dí.
El unico navegador que envía submit es CHROME.
Por eso no funciona con los demás.
Por favor, estudia HTML.

Código PHP:
Ver original
  1. if(isset($_POST["submit"])){
  2.         if($_POST["nombre"] == " "){
  3.             $errors[1] = "<span class='error'>Ingrese su nombre</span>";
  4.         }else if($_POST["email"] == '' or !preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/",$_POST["email"])){
  5.             $errors[2] = "<span class='error'>Ingrese un email correcto</span>";
  6.         }else if($_POST["asunto"] == " "){
  7.             $errors[3] = "<span class='error'>Ingrese un asunto</span>";
  8.         }else if($_POST["mensaje"] == " "){
  9.             $errors[4] = "<span class='error'>Ingrese un mensaje</span>";
  10.         }else{
  11.             $dest = "[email protected]"; //Email de destino
  12.             $nombre = $_POST["nombre"];
  13.             $email = $_POST["email"];
  14.             $asunto = $_POST["asunto"]; //Asunto
  15.             $header = "From:".$_POST["email"]."\r\n"; //Quien envia?
  16.             $headers .= "X-Mailer: PHP\r\n";
  17.             $headers .= "MIME-Version: 1.0" . "\r\n";
  18.             $headers .= "Content-Type: text/plain"; //
  19.             $cuerpo .= "Este mensaje fue enviado por: " .$nombre. "\r\n";
  20.             $cuerpo .="Correo: ".$email."\r\n";
  21.             $cuerpo .= "Asunto: ".$asunto." \r\n";
  22.             $cuerpo .="Mensaje: ".$_POST['mensaje']." \r\n";
  23.             $cuerpo .= "Enviado el " . date('d/m/Y', time());
  24.             if(/*mail($dest,$asunto,$cuerpo,$headers)*/1==1){
  25.                 $result = "<div class='result_ok'>Tu Mensaje fue enviado correctamente </div>";
  26.                 // si el envio fue exitoso reseteamos lo que el usuario escribio:
  27.                 $_POST["nombre"] = " ";
  28.                 $_POST["email"] = " ";
  29.                 $_POST["asunto"] = " ";
  30.                 $_POST["mensaje"] = " ";
  31.             }else{
  32.                 $result = "<div class='result_fail'>Hubo un error al enviar el mensaje </div>";
  33.             }
  34.         }
  35.     }else{echo "no recibi submit";}
  #8 (permalink)  
Antiguo 08/10/2013, 16:41
Avatar de ghiper  
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: problema con formulario

ya hice las correcciones y sigue igual incluso los mensajes me de envió no me los muestra y no es que no sepa html se a lo que e refieres pero ahora estay trabajando código php y diseño con css.
agrego mi codigo modificado:
Código PHP:
Ver original
  1. <?php
  2.     if(isset($_POST["Submit"])){
  3.         if($_POST["nombre"] == " "){
  4.             $errors[1] = "<span class='error'>Ingrese su nombre</span>";
  5.         }else if($_POST["email"] == '' or !preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/",$_POST["email"])){
  6.             $errors[2] = "<span class='error'>Ingrese un email correcto</span>";
  7.         }else if($_POST["asunto"] == " "){
  8.             $errors[3] = "<span class='error'>Ingrese un asunto</span>";
  9.         }else if($_POST["mensaje"] == " "){
  10.             $errors[4] = "<span class='error'>Ingrese un mensaje</span>";
  11.         }else{
  12.             $dest = "[email protected]"; //Email de destino
  13.             $nombre = $_POST["nombre"];
  14.             $email = $_POST["email"];
  15.             $asunto = $_POST["asunto"]; //Asunto
  16.             $headers = "From:".$_POST["email"]."\r\n"; //Quien envia?
  17.             $headers .= "X-Mailer: PHP\r\n";
  18.             $headers .= "MIME-Version: 1.0" . "\r\n";
  19.             $headers .= "Content-Type: text/plain"; //
  20.             $cuerpo .= "Este mensaje fue enviado por: " .$nombre. "\r\n";
  21.             $cuerpo .="Correo: ".$email."\r\n";
  22.             $cuerpo .= "Asunto: ".$asunto." \r\n";
  23.             $cuerpo .="Mensaje: ".$_POST['mensaje']." \r\n";
  24.             $cuerpo .= "Enviado el " . date('d/m/Y', time());
  25.             if(/*mail($dest,$asunto,$cuerpo,$headers)*/1==1){
  26.                 $result = "<div class='result_ok'>Tu Mensaje fue enviado correctamente </div>";
  27.                 // si el envio fue exitoso reseteamos lo que el usuario escribio:
  28.                 $_POST["nombre"] = " ";
  29.                 $_POST["email"] = " ";
  30.                 $_POST["asunto"] = " ";
  31.                 $_POST["mensaje"] = " ";
  32.             }else{
  33.                 $result = "<div class='result_fail'>Hubo un error al enviar el mensaje </div>";
  34.             }
  35.         }
  36.     }else{echo 'no recibi submit';}
  37.  
  38.  ?>
  39.       <form id="form1" name="form1" method="post" action="contacto.php" style="position: absolute; left: 83px; top: 35px; height: 423px; width: 260px;" >
  40.         <p class="odessa">Nombre:</p>
  41. <input type="text" class="nombre" name="nombre" size=38><?php echo $errors[1]; ?>
  42. <p class="odessa">Email:</p>
  43. <input type="text" class="email" name="email" size=38 ><?php echo $errors[2]; ?>
  44.  
  45. <p class="odessa">Asunto:</p>
  46. <input type="text" class="asunto" name="asunto" size=38 ><?php echo $errors[3]; ?>
  47. <br /><br />
  48. <input name="Submit" type="image" value="Enviar" src="images/boton.png" width="70" height="70" hspace="108">
  49.  
  50.         <p class="odessa" style="position: absolute; left: 433px; top: 100px; height: 69px;">Mensaje:<?php echo $errors[4]; ?></p>
  51. <textarea class='mensaje' name="mensaje" cols="31" rows="10" id="mensaje" ></textarea>
  52. <div class="odessa-error"><?php echo $result; ?></div>
  53. <div class="tel">Telefonos: <strong>32851237</strong> - <strong>14915205</strong><br />
  54. Next: <strong>1661-4518</strong> ID: <strong>92*15*68182</strong><br /> Next: <strong>1615-2069</strong> ID: <strong>62*987050*2</strong></div>
  55.       </form>

Etiquetas: 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 02:32.